Phi*_*oud 4 cron users locate updatedb anacron
我希望每天启动一个特殊命令,但不想将它放在 /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)
小智 11
我找到了两个解决方法...
选项 1:让 cron.daily 脚本以非 root 用户身份运行
脚本/etc/cron.daily
将以 root 身份运行,但 root 不需要密码即可作为其他人运行。所以在那里放一个脚本来做这样的事情:
su myuser -c "/home/myuser/dostuff.sh"
如果您需要以 root 身份进行设置,这是主要的缺点。
选项 2:设置个人 anacron
创建您自己的 anacron 脚本目录,例如~/.anacron/daily
,~/.anacron/weekly
和~/.anacron/monthly
. 将您的每日脚本放在每日目录中。
然后创建您自己的 anacrontab 文件,例如~/.anacron/anacrontab
. 并让它这样说:
1 5 cron.daily run-parts --report /home/myuser/.anacron/daily
7 10 cron.weekly run-parts --report /home/myuser/.anacron/weekly
@monthly 15 cron.monthly run-parts --report /home/myuser/.anacron/monthly
Run Code Online (Sandbox Code Playgroud)
还为您的 anacron 任务创建一个假脱机目录,例如~/.anacron/spool
.
最后你需要让 anacron 运行。为此使用频繁的 cron 作业。运行crontab -e
并添加
* * * * * /usr/sbin/anacron -t /home/myuser/.anacron/anacrontab -S /home/myuser/.anacron/spool
Run Code Online (Sandbox Code Playgroud)
这将每分钟使用您的配置运行 anacron,如果作业到期,anacron 将运行它。如果你愿意,你可以减少它的频率,对于大多数用户来说,每小时可能已经足够了。
归档时间: |
|
查看次数: |
2548 次 |
最近记录: |