在linux系统中,crontab命令常用于设置周期性被执行的指令,也可以理解为设置定时任务。
先来一个小列子。前提 linux系统中已安装crontab。
每二分钟将系统当前时间输出到 console.txt 文件然后保存
[root@hxjk_base ~]# crontab -l no crontab for root
第一次执行 crontab -l 显示 no crontab for root
解决方法:输入 crontab -e 按: wq 回车,再执行 crontab -l就可以了
因为没有crontab文件
[root@hxjk_test_mysql_redis_file test]# pwd /test [root@hxjk_test_mysql_redis_file test]# ll total 8 -rw-r--r-- 1 root root 28 Sep 7 19:36 console.txt -rwxr-xr-x 1 root root 38 Sep 7 18:41 test.sh [root@hxjk_test_mysql_redis_file test]#
sheel脚步,test.sh
[root@hxjk_test_mysql_redis_file test]# more test.sh /bin/echo `date` > /test/console.txt
新加定时任务
[root@hxjk_test_mysql_redis_file test]# crontab -e */2 * * * * sh /test/test.sh
再次查看定时任务列表,可以看到定时任务已经添加
[root@hxjk_test_mysql_redis_file test]# crontab -l */2 * * * * sh /test/test.sh
查看console.txt文件
[root@hxjk_test_mysql_redis_file test]# more console.txt Fri Sep 7 19:44:01 CST 2018
执行日志
[root@hxjk_test_mysql_redis_file log]# pwd /var/log [root@hxjk_test_mysql_redis_file log]# tail cron Sep 7 19:36:01 hxjk_test_mysql_redis_file CROND[129064]: (root) CMD (sh /test/test.sh) Sep 7 19:38:01 hxjk_test_mysql_redis_file CROND[129179]: (root) CMD (sh /test/test.sh) Sep 7 19:40:01 hxjk_test_mysql_redis_file CROND[129285]: (root) CMD (sh /test/test.sh) Sep 7 19:40:21 hxjk_test_mysql_redis_file crontab[129305]: (root) LIST (root) Sep 7 19:40:58 hxjk_test_mysql_redis_file crontab[129339]: (root) BEGIN EDIT (root) Sep 7 19:42:01 hxjk_test_mysql_redis_file CROND[129394]: (root) CMD (sh /test/test.sh) Sep 7 19:43:13 hxjk_test_mysql_redis_file crontab[129339]: (root) END EDIT (root) Sep 7 19:43:17 hxjk_test_mysql_redis_file crontab[129463]: (root) LIST (root) Sep 7 19:44:01 hxjk_test_mysql_redis_file CROND[129504]: (root) CMD (sh /test/test.sh) Sep 7 19:46:01 hxjk_test_mysql_redis_file CROND[129619]: (root) CMD (sh /test/test.sh) [root@hxjk_test_mysql_redis_file log]#
/var/log/cron 日志只能看出是否执行。