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) |