Linux crontab执行定时命令
2017-10-06 本文已影响0人
仁暮
用处:
用来定时执行任务。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
语法:
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文件时给确认提示。
常用命令:
- apt-get install cron //大部分情况下Debian都已安装。
- /etc/init.d/cron restart //重启Crontab
- crontab -e 修改crontab中的条目
- crontab -l 列出crontab中的条目
- grep CRON /var/log/syslog # 获得运行日记
任务命令书写格式
格式 | minute | hour | dayofmonth | month | dayofweek command | |
---|---|---|---|---|---|---|
解释 | 分钟 | 小时 | 日期 | 月付 | 周命令 | |
范围 | 0-59 | 0~23 | 1~31 | 1~12 | "0~7 | 0和7都代表周日" |
符号 | 解释 | hour | dayofmonth | month | dayofweek command |
---|---|---|---|---|---|
*(星号) | 代表所有有效的值。 如:0 23 * * * backup 不论几月几日周几的23点整都执行backup命令。 | 小时 | 日期 | 月付 | 周命令 |
,(逗号) | 代表分割开多个值。如:30 9 1,16,20 * * command 每月的1、16、20号9点30分执行command命令。 | 0~23 | 1~31 | 1~12 | 0~7,0和7都代表周日 |
实例:
* * * * * python3 /root/test/test.py # 每分钟执行一次test.py命令
3,15 * * * * myCommmand # 每小时的13,15分钟执行命令
3,15 8-11 * * * myCommand # 在上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand # 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand # 每周一上午8点到11点的第3和第15分钟执行
30 21 * * * /etc/init.d/smb restart # 每晚的21:30重启smb
*/15 18-23 * * * /etc/init.d/smb restart # 每晚18点到23点每15分钟重启一次smb