Linux 在系统启动10分钟后运行bash脚本
我试图在系统启动10分钟后和每次重新启动时运行bash脚本。我计划@reboot的crontab,但我不确定有两件事Linux 在系统启动10分钟后运行bash脚本,linux,bash,cron,rhel,Linux,Bash,Cron,Rhel,我试图在系统启动10分钟后和每次重新启动时运行bash脚本。我计划@reboot的crontab,但我不确定有两件事 它是在第一次系统启动时运行,还是仅在重新启动时运行 如何在重新启动后将运行延迟10分钟 什么表达方式最适合我的情况?请注意,我无法运行“at”或系统计时器来完成此操作,因为我们无法访问这两个程序。我正在处理RHEL 7..我只想在重新启动脚本开始时sleep 600。当然,可能有一种更“专业”的方法,但它会起作用。我认为您的问题可能更适合Unix和Linux堆栈交换,因为我在
- 它是在第一次系统启动时运行,还是仅在重新启动时运行
- 如何在重新启动后将运行延迟10分钟
什么表达方式最适合我的情况?请注意,我无法运行“at”或系统计时器来完成此操作,因为我们无法访问这两个程序。我正在处理RHEL 7..我只想在重新启动脚本开始时
sleep 600
。当然,可能有一种更“专业”的方法,但它会起作用。我认为您的问题可能更适合Unix和Linux堆栈交换,因为我在那里找到了两个直接解决您问题的答案:
基本上,您总是可以在cronjob调用的开头添加sleep 600
关于是否应该运行cronjob与init脚本:
有一些细微的差别,但基本上,每次系统启动时,cron@reboot都会运行,作为非root用户可能更容易管理。
rc local.service
更适合您在EL7系统上的需要
systemctl status rc-local.service
● rc-local.service - /etc/rc.d/rc.local Compatibility
Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static; vendor preset: disabled)
Active: inactive (dead)
您需要将能够以任意延迟运行的脚本放入文件中,/etc/rc.d/rc.local
,例如
sleep 600 && /usr/local/bin/myscript.sh
也可以在脚本中添加延迟
# Give exe permission to the local script as well as `rc.local`
chmod a+x /usr/local/bin/myscript.sh
chmod a+x /etc/rc.d/rc.local
# Enable the service. Note the service name has a `-` compared `.` in the file.
systemctl enable rc-local.service
那是一小时,10分钟等于600秒。但是+1;这就是方法。哦,是的。。但是@reboot会在第一次启动时触发脚本吗?如果您成功安装了@reboot条目,那么第一次启动已经发生了。克朗其实并不在乎;“重新启动”在技术上有点误导性,因为它实际上也会在第一次启动后运行(cron无法确定最近的启动是否是重新启动)。哎哟^信不信由你,我有数学学位。