我希望每天启动一个特殊命令,但不想将它放在 /etc/cron.d/ 中,因为它是特定于用户的用户!
pg@pipoTower: ~$ crontab -l
# m h dom mon dow command
0 0 * * * updatedb -l 0 -o ~/.externalharddisk.db -U /var/autofs/removable/usbData
Run Code Online (Sandbox Code Playgroud)
将crontab -e其放在文件中的命令/var/spool/cron/crontabs/userName
但不知道为什么它不被 anacron 调用....
usr@Tower: ~/$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
Run Code Online (Sandbox Code Playgroud) 我把我的 shell 脚本放在 /etc/cron.daily
我希望该文件夹中的所有内容每天都会运行,但我的脚本没有运行。
因此,我使用 Anacron 能够每天可靠地运行一些脚本。然而,当 Anacron 本身有一半时间没有在启动时启动时,这不起作用。我怎样才能让 Anacron 可靠地启动?
> grep 'anacron' /var/log/syslog.2
May 18 19:09:02 s-laptop anacron[2480]: Job `cron.daily' terminated (exit status: 1) (mailing output)
May 18 19:09:02 s-laptop anacron[2480]: Can't find sendmail at /usr/sbin/sendmail, not mailing output
May 18 19:09:02 s-laptop anacron[2480]: anacron: Can't find sendmail at /usr/sbin/sendmail, not mailing output
May 18 19:09:02 s-laptop anacron[2480]: Normal exit (1 job run)
May 18 21:20:48 s-laptop systemd[1]: Started Run anacron jobs at resume.
May 20 16:30:46 s-laptop systemd[1]: Started Run anacron …Run Code Online (Sandbox Code Playgroud) 我尝试为 abacron 执行此任务:
dm@dm-system:~$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
@daily 5 /home/dm/Devel/btsync && notify-send "Btsync loaded (pid `pidof btsync`)" "Link <a href='http://0.0.0.0:8888/gui/'>here</a>."
Run Code Online (Sandbox Code Playgroud)
这个命令在我的 xubuntu 终端上做得很好
/home/dm/Devel/btsync && notify-send "Btsync loaded (pid `pidof btsync`)" "Link <a href='http://0.0.0.0:8888/gui/'>here</a>."
Run Code Online (Sandbox Code Playgroud)
但是当我启动我的笔记本时,我在 /var/syslog 中看到:
Aug 14 10:49:06 dm-system …Run Code Online (Sandbox Code Playgroud) 我读过,如果anacron启用,cron则不会在 cron.weekly/hourly/daily/hourly 中运行脚本,因为不会运行它们两次。所以要anacron对那个文件夹负责。
但是anacron不适用于每小时脚本。那么,谁运行 /etc/cron.hourly?
对不起,如果这是一个初学者的问题。
我使用的是 Ubuntu 18.10,并向 anacrontab 添加了一个简短的脚本。现在我从 Anacron 收到此日志警告:
在 /usr/sbin/sendmail 找不到 sendmail,不是邮件输出
我使用默认的 Postfix 来发送邮件而不是 sendmail,并且通过常用的 Gnome 消息接收来自其他实用程序(打印机作业、USB 连接等)的消息。为什么 Anacron 坚持使用 sendmail,我是否必须仅为 Anacron 安装 sendmail?