crontab

在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 日志只能看出是否执行。

原文地址:https://www.cnblogs.com/gexiaoshan/p/9606720.html