crontab任务计划的命令对系统的运维非常有用。
但是,在启动任务计划前,需要有两个前提,一个是记动syslog日志,查看任务计划是否进行,另外是记动任务计划进程(crond)。
1,启动syslog日志服务
$sudo service rsyslog start
2,后台启动任务计划进程
$sudo cron -f & (在centos6.4系统中,没有-f选项,而是-s选项,当然,可以通过man crond命令查看其具体的使用帮助文档)
3,编辑任务计划
可通过crontab -e进行编辑,但此命令是针对使用者的cron来设计,也就是每个用户在添加任务,就会在/var/spool/cron/crontabs中添加一个该用户自己的任务文档
这样可以做到独立,隔离,不会混乱
$crontab -e
选择基本的vim编辑(1),在最后添加如下内容:
*/1 * * * * touch /home/shiyanlou/$(date +%Y%m%d%H%M%S)
该命令是每分钟在/home/shiyanlou目录下创建一个以当前的年月日时分秒为名字的空白文件(%前面的\为转意)
添加成功后会得到最后一排 installing new crontab 的一个提示。
可通过crontab -l命令来查看添加的任务;通过ps -aux | grep cron或者pgrep cron来查看crond守护进程是否起来。
同时,可通过sudo tail -f /var/log/syslog查看执行任务时在日志中的反馈。
可通过crontab -r命令删除任务。有一點需要特別注意,那就是 crontab -e 這個 crontab 其实是 /usr/bin/crontab 这个执行的,只是你可以 root 的身份編輯一下这个文档!
对于执行系统性特殊任务,只需要编辑/etc/crontab这个文档即可。基本上, cron 这个服务的最低侦测限制是分钟,所以 cron 会每分钟去读取一次 /etc/crontab 与 /var/spool/cron/crontabs 里面的资料內容 』,因此,只要你编辑完 /etc/crontab 这个文档,并且將他存储之后,那么 cron 的设定就自动的执行了!
在/etc目录下,我们可以观察到关于 cron 的文件有一下几个,他们的作用又是什么:
1,/etc/cron.daily,目录下的脚本会每天让执行一次,在每天的6点25分时运行;
2,/etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的17分钟时运行;
3,/etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月1号的6点52分时运行;
4,/etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的6点47分时运行;
当然,以上的时间均是系统默认时间,可以根据自己的需求进行修改。
当然,更多的crontab命令的使用,可通过man命令查看。