linux下的crontab

简介

最近在打CTF的时候了解到了/etc/crontab这个文件,借机了解一下。通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本,精确到分。

命令格式

crontab [-u user] file crontab [-u user] [ -e | -l | -r ]

命令参数

参数 作用
-u user 用来设定某个用户的crontab服务。
file file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e 编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i 在删除用户的crontab文件时给确认提示。

crontab分类

  1. 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存。文件存放在 /etc/crontab 中。
  2. 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 。各用户的crontab文件存放在/var/spool/cron目录

日志文件

如果运行出错,linux会发邮件到 /var/mail/mail 或者 /var/spool/mail/mail

使用实例

  1. 每5分钟执行一次 /reset.sh
*/5 * * * * sh /reset.sh 
  1. 每晚21: 30重启 cron
30 21 * * * /etc/init.d/cron restart
  1. 每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
  1. 每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart

参考

https://www.cnblogs.com/ftl1012/p/crontab.html
https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html

你可能感兴趣的:(linux下的crontab)