linux下的定时任务at,crontab,SystemD定时器
参考:SystemD定时器
打印所有用户级别的crontab,也就时目录/etc/spool/cron下面的以用户名取名的文件里的定时任务
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
at 一次性任务
systemctl status atd
/etc/at.deny
/etc/at.allow
cron 周期性任务
crontab -e 定时任务文件保存及查看地方(/var/spool/cron)
systemctl status crond
/etc/cron.deny 该文件中所列的用户不允许使用 crontab 命令
/etc/cron.allow 该文件中所列的用户允许使用crontab 命令
/var/spool/cron/ 是所有用户的crontab 文件
/var/spool/cron/crontabs
/etc/crontab
crontab -e是每个用户都可以执行的命令,也就是说,不同的用户身份可以执行自己的定时任务。但是有些定时任务需要系统执行,这时就需要编辑 /etc/crontab 这个配置文件了。
当然,并不是说写入 /etc/crontab 配置文件中的定时任务在执行时不需要用户身份,而是crontab -e命令在定义定时任务时,默认用户身份是当前登录用户。而在修改 /etc/crontab 配置文件时,定时任务的执行者身份是可以手工指定的。这样定时任务的执行会更加灵活,修改起来也更加方便。