cron
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。但它不自动起来,因此可以采取以下方法来启动,关闭这个服务。
-l查看某个用户的cron服务
[root@slave-01 test]# crontab -u root -l
-e编辑某个用户的cron服务
[root@slave-01 test]#crontab -u root -e
进入编辑界面进行编辑。
-r删除某个用户的cron服务
利用下图来说一下cron的格式
* * * * * 从前到后五个*分别代表'分' '时' '天' '月' '周'
例如
6 6 6 6 *echo "hi" >> /tmp/tt.txt
每年的6月6日6时6分执行echo命令,并把输出的结果输入到tt.txt中。
可以用逗号隔开表示离散
0 6,7 * * * echo "hi">>/tmp/tt.txt
每天的6点或7点执行命令。
-表示连续
0 6-7 * * *echo "hi">>/tmp/tt.txt
每天的6点到7点执行命令。
/3每三分钟,表示时间频度
0 */3 *** echo "hi">>/tmp/tt.txt
每隔3个小时,就执行一次命令。
默认执行结果是以邮件形式发送给管理员:可以将结果送到文件或者/dev/null
cron涉及到两类配置文件,cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab。这两类的格式有所差别。
1.系统cron
位置---/etc/crontab
作用---针对某个用户来执行命令
格式--- * * * * * user-name command to be executed例如01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
2.用户cron
位置---/var/spool/cron/USERNAME
作用---上面说到一个cron的编辑命令,需要指定用户名。因此针对每个用户的命令都会生成这么个文件来记录命令。例如使用root用户创建的定时任务, 会找到/var/spool/cron/root文件,文件里面就是刚才编辑的命令。
应用范围:linux中主要用在定时执行命令。例如周期性的日志记录与刷新,例如集群的时间同步。在spring中也有使用cron对数据库进行定期的控制等等。