赞
踩
ubuntu版本:20.04 LTS
配置Cron日志
ubuntu默认未开启cron日志,手动启用日志
vim /etc/rsyslog.d/50-default.conf
将该行
#
删除
按esc
输入:wq!
保存并退出
service rsyslog restart # 重启rsyslog服务
vim /var/log/corn.log # 查看日志
配置Cron
输入 crontab -e
进入文件编辑页面
按下 i
进入编辑模式
例如:每天凌晨3点执行restore.sh
0 3 * * * root /usr/Johnny/restore.sh
按下 exec
退出编辑模式
输入 :wq!
保存并退出 / :qa
是直接退出
输入 sudo service cron restart
重启
该信息提示没有安装邮件服务MTA(因特网邮件传送代理;Mail Transfer Agent),因为cron的错误信息是通过邮件发送的,可以通过安装邮件服务器解决该问题。在Linux操作系统中有很多种邮件传输代理,每个MTA都有自己的特点。我们安装postfix作为邮件服务。
安装postfix
sudo apt-get install postfix
sudo dpkg-reconfigure postfix
如果提示找不到这个包,可以更换镜像源
国内有很多Ubuntu的镜像源,有阿里的、网易的,教育网的比如:清华源、中科大源。
这里以网易163源为例看一下如何修改Ubuntu 20.04的默认源。
第一步:备份源文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
- 1
第二步:编辑/etc/apt/sources.list文件
在文件最前面添加以下条目(操作前请做好相应备份):vi /etc/apt/sources.list
- 1
网易163源
#
默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse # 预发布软件源,不建议启用 # deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
第三步:执行更新命令:
sudo apt-get update sudo apt-get upgrade
- 1
- 2
选择Internet Site
System mail name填写codc.cn,ccdc是我登录的用户名。点击 OK,postfix继续安装,完毕后自动启动。
安装完毕后重启服务
sudo systemctl restart postfix
现在就可以了,不需要做其他配置。
等待几分钟,敲一下回车,屏幕显示
说明内容已经发送到/var/mail/root中,查看:
vim /var/mail/root
在cron中执行shell脚本的时候需要输出的log日志时,可以将输出的log重定向到var/syslog
sh /opt/test/shell.sh>/var/log/syslog
如果出现类似 crontab /bin/sh: 1: /usr/Johnny/restore.sh: not found 的情况
检查时是通过 crontab -e 还是 vim /etc/crontab 编辑的cron文件
*/5 * * * * /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 #正确
*/5 * * * * root /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 #错误 报错/bin/sh: root: 未找到命令
*/5 * * * * root /home/word2pdf.sh > /home/log/word2pdf.log 2>&1 #正确
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。