美文网首页 从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