> Ubuntu >

ubuntu 定时任务

1.查看定时任务

sudo crontab -l



2.定制定时任务

sudo crontab -e

在文件中输入任务命令

*/1 * * * * /bin/sh /etc/init.d/test.sh

此命令每分钟执行一次test.sh脚本



1 * * * * cd /etc/init.d && ./test.sh >> /home/loganalysis/error.log 2>&1

此命令执行shell脚本文件,并记录日志

3.cron运行日志

cron运行日志在/var/log/cron.log

ubuntu默认没有开启cron日志,

执行命令 sudo vim /etc/rsyslog.d/50-default.conf


找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog:

sudo  service rsyslog  restart



4.定时任务 shell脚本中 echo 输出命令

执行less -10 /var/log/cron.log再次查看cron运行日志,log出来了,提示如下信息:

No MTA installed, discarding output

原因是cron把屏幕输出都发送到email了,而当前环境并未安装email server,于是系统报错,解决方面就是不要直接向屏幕输出内容,而是重定向到一个文件。

修改脚本文件,将echo 命令改为

echo "Hello world!" >> /tmp/cron_log.txt  输出写入到文件


保存退出,同时reload cron服务:

sudo service cron reload



4.定时任务执行的shell脚本中的ifconfig等命令,需要使用绝对路径/sbin/ifconfig


(责任编辑:IT)