linux 利用 crontab 实现开机自动执行指令/crontab任务的多种实现方法

Posted lowmanisbusy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 利用 crontab 实现开机自动执行指令/crontab任务的多种实现方法相关的知识,希望对你有一定的参考价值。

方法一,用户登录服务器,直接修改:
  crontab -e
  然后添加:
    @reboot [nohup] 命令
  ctrl + O
  ctrl + x

方法二,指定用户进行修改:
  sudo crontab -u usernam -e
  然后添加:
    @reboot [nohup] 命令
  ctrl + O
  ctrl + x


以上两种方法,可以提前将 任务指令 封装进一个文件: sudo crontab -u username filename

方法三,修改 /etc/crontab:
  sudo vim /etc/crontab
  添加:
    @reboot username [nohup] 命令
  
  该方法必须指定用户,该方法的好处是,可以将所有用户的crontab任务都在一个文件中进行管理(方法一和方法二(实际上是同一种实现方式)会为所有用户都维护一个crontab任务文件)
  该方法本人在实际的操作过程中,无法通过远程发送指令的方式完成,必须需要打开一个交互式的shell窗口,手动修改.这里应该应该有权限限制

nohup 是用来让运行的程序忽略 SIGHUP 指令(因为在父程序退出后,所有的子程序会受到 SIGHUP 指令)从而保证运行的程序不退出, 根据实际情况决定是否使用该参数
@reboot 只针对可登录服务器的用户生效, 如果使用不可登录服务器的用户执行该类型crontab任务,将会遭到忽略,执行失败

 

以上是关于linux 利用 crontab 实现开机自动执行指令/crontab任务的多种实现方法的主要内容,如果未能解决你的问题,请参考以下文章

Centos7:利用crontab定时执行任务

Centos7:利用crontab定时执行任务

linux开机实现时间自动同步

用 crontab 实现开机自动运行脚本

CentOS7开机自动执行命令

Linux CentOS开机启动项设置命令:chkconfig