如何按计划运行文件夹中的脚本而不需要费心 root/sudo? Ubuntu 有/etc/cron.hourly
、/etc/cron.daily
等,所以我想知道它查看的主目录中是否还有一个文件夹。
答案1
首先我们需要生成可以放置脚本的文件夹:
mkdir ~/.config/cron.hourly
mkdir ~/.config/cron.daily
mkdir ~/.config/cron.weekly
mkdir ~/.config/cron.monthly
mkdir ~/.config/cron.yearly
mkdir ~/.config/cron.reboot
然后我们需要运行crontab -e
来编辑我们的调度程序。如果这是您第一次运行 crontab,您需要首先选择终端编辑器(使用默认值 nano)。然后粘贴:
@hourly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.hourly )
@daily ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.daily )
@weekly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.weekly )
@monthly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.monthly )
@yearly ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.yearly )
@reboot ( cd ~ && run-parts --report /home/$(whoami)/.config/cron.reboot )
(纳米)点击Ctrl+X
关闭,键入y
保存,确认文件名enter
。
现在您可以将任何您想要的脚本放入这些文件夹中以按计划运行。
注意:在您的脚本中,默认值之外的命令PATH
/usr/bin:/usr/local/bin
将需要其完整路径。
注意:@reboot
很特殊,仅在冷启动(而不是重新启动)电脑时运行。
您可能还想安装sudo apt-get install postfix
(仅选择本地)以记录脚本在文件中生成的任何 stdout/stderr /var/mail/$USER
。