哪个是crontab作业的正确定义?
在执行路径之前是否有user

 .---------------- minute (0 - 59)
 |  .------------- hour (0 - 23)
 |  |  .---------- day of month (1 - 31)
 |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 |  |  |  |  |
 *  *  *  *  * <user>  <command>

在Debian上,crontab -l将备份示例显示为:
....
For example, you can run a backup of all your user accounts
at 5 a.m every week with:
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
...

这里没有user!啊!
/etc/crontab内容(在同一个框中)给出了不同的提示:
....
and files in /etc/cron.d. These files also have username fields,
that none of the other crontabs do.
...

最佳答案

crontab不*允许指定用户运行为…
…除非你在根crontab中。
如果你检查我的favorite linux admin reference,你不会发现作为一个特定用户运行某些计时表条目有一些技巧。但是,如果您希望这样做,最好的做法是编辑用户的crontab:

crontab -u <username> -e

如果你必须…
0 0 * * * sudo -u [user] [command]

但这只能在具有sudo权限的用户的crontab中完成,正如fcm所指出的,这样的用户可以只编辑根crontab。
大多数类型的nix需要根crontab中的用户/etc/crontab
0 0 * * * [user] [command]

结论
如果要指定哪个用户正在运行特定的cron作业,最佳做法是根据用例执行以下操作之一:
设置记帐
/etc/crontab公司
sudo crontab
<time> <user> <command>
用户crontab
crontab -u <username> -e
<time> <command>

关于linux - crontab:正确的职位定义是哪一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37714807/

10-14 04:59