美文网首页 从0到1_后端开发
Linux配置开机启动特定程序和定时执行特定程序

Linux配置开机启动特定程序和定时执行特定程序

作者: ef43ffb32440 | 来源:发表于2018-01-11 15:56 被阅读18次

服务器使用的是Ubuntu,开机启动特定程序和定时自动重启服务器涉及到2个文件:

  • /etc/rc.local : 添加开机时自动执行特定程序的命令。
  • /etc/crontab : 添加定时重启命令。

开机启动特定程序:

比如假设安装tomcat在/usr/local/tomcat/下,设置开机启动tomcat,则添加执行tomcatbin目录下的startup.sh文件的命令:
su - root -c "/usr/local/tomcat/bin/startup.sh"

完整的rc.local文件的配置:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

su - root -c "/usr/local/tomcat/bin/startup.sh"



exit 0

比如需要开机启动特定java程序,java程序所在目录: /server/myProject.jar,则添加命令:
su - root -c "java -jar /server/myProject.jar".

完整的rc.local文件:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

su - root -c "/usr/local/tomcat/bin/startup.sh"

su - root -c "java -jar /server/myProject.jar"

exit 0

定时执行特定命令

crontab文件默认的内容:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

init 6是重启机器的命令,比如需要在每天的5:30am重启机器,则添加命令:
30 5 * * * root init 6

完整的crontab文件内容:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 5    * * *   root    init 6
#

相关文章

网友评论

    本文标题:Linux配置开机启动特定程序和定时执行特定程序

    本文链接:https://www.haomeiwen.com/subject/odftoxtx.html