实际中经常有一些任务需要定期执行,人工操作比较麻烦,如果定时执行将会省去很多人力,还可以在一些资源占用不多的时间段执行,linux下crontab
命令就实现了这一便捷的功能,实现脚本的自动化运行。
常用的crontab
命令参数: crontab -l
:列出定时任务文件的内容 crontab -e
:编辑定时任务文件的内容 crontab
文件的格式:M H D m d cmd
.
其中:
* M:分钟(0..59)
* H:小时(0..23)
* D:日(1..31)
* m:月(1..12)
* d:一星期内的天(0..6),0代表周日
* cmd:要执行的命令
crontab
主要就是以上的用法。
需要监控日志信息时(重要!):
因为定时执行脚本实在后台运行,我们需要监测程序日志的时候,可以在crontab
文件中加上把日志信息重定向到文件中,如: crontab * * * * * myshell.sh >> mylog.log 2>&1
crontab * * * * * myshell.sh > mylog.log 2>&1
其中,>
代表普通的重定向写文件,>>
代表重定向追加文件。
另外,在/etc/
目录下会看到crontab
的相关文件,主要的两个有crontab.allow
和crontab.deny
,谁能使用crontab
命令和谁不能使用crontab
命令。如果cron.allow
是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件cron.deny
,则只有不包括在这个文件中的用户才可以使用crontab
命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow
优先,如果都不存在,只有超级用户可以安排作业。