系统重启后Linux执行Cron作业
时间:2020-01-09 10:41:30 来源:igfitidea点击:
我在Red Hat Enterprise Linux服务器上。
重新启动命令后,在引导时是否有一种简单的方法来运行脚本或命令?
系统重启后如何在Linux上执行cron作业?
crontab是用于在Cron中安装,卸载或列出用于驱动cron守护程序的表的程序。
每个用户都可以拥有自己的crontab。
您或用户可以使用crontab命令编辑cron作业。
在本教程中我们学习了Linux系统重启后如何运行cron作业。
系统重启后Linux执行cron作业
crontab命令为单个用户维护crontab文件。
可以根据需要安装或删除cron作业。
启动时运行作业(引导时间)
您需要使用名为@ reboot
的特殊字符串。
在Linux重新启动命令启动后,它将运行一次。
语法如下:
@reboot /path/to/job @reboot /path/to/shell.script @reboot /path/to/command arg1 arg2
这是使用户能够在引导时运行shell脚本或命令而无需root用户访问权限的简便方法。
首先,运行crontab命令:
$ crontab -e
或者
# crontab -e -u UserName # crontab -e -u Hyman
运行名为/home/Hyman/bin/installnetkit.sh的脚本
@reboot /home/Hyman/bin/installnetkit.sh
这是使用cron作业在启动时运行脚本的超简单方法。
服务器重启后如何自动运行cron作业
假设您的脚本仅需要在5分钟后运行。
例如:重新启动+ 5分钟。
语法如下:
@reboot sleep 300 && /home/wwwjobs/clean-static-cache.sh
sleep命令用于添加指定时间段内的延迟。
在此示例中,600秒钟之后,clean-static-cache.sh在引导时执行。
在启动时自动启动crond
您还需要通过sys v/BSD初始化样式系统启用crond服务。
在RHEL/CentOS/Fedora下,您需要使用chkconfig(ntsysv)命令在启动时启用crond:
# chkconfig crond on ## Commands to start/stop/restart crond for Linux Execute Cron Job ### # service crond restart # service crond start # service crond stop
在Debian/Ubuntu Linux下,使用update-rc.d如下启动开机服务:
# update-rc.d cron defaults
如果您将现代发行版与systemd一起使用,请尝试以下systemctl命令
# systemctl enable crond.service ### this to start/stop/restart crond on systemd enabled distro such centos 7.x/debian/ubutnu/arch ### # systemctl start crond.service # systemctl stop crond.service # systemctl restart crond.service # systemctl status crond.service
对于带有systemd的Debian/Ubuntu Linux,请尝试:
$ sudo systemctl enable cron.service $ sudo systemctl start cron.service $ sudo systemctl stop cron.service $ sudo systemctl restart cron.service $ sudo systemctl status cron.service
保存并关闭文件。