Ubuntu 定时任务;
第一步:准备测试shell
我建立了四个文件;其实没必要这么多的,因为初次,遇到问题多,加上shell不太了解,所以各种尝试,记录一下成功版本
分别为: hello.sh log.log test.sh tmp.sql
内容分别如下:
/shell/test.sh >>/shell/log.log 2>&1 -------将错误信息记录到log.log;
mysql -uroot -pruishn -e "source /shell/tmp.sql" -------登录数据库 执行sql文件;
insert into h5.test (`a`,`b`,`c`)VALUES(NOW(),NOW(),NOW()); -------像数据库增加数据;
第二步 sudo crontab -e 配置定时任务
第一次会出现选择一种编辑方式;选择一个后编辑配置文件
下面是我的demo
*/1 * * * * /shell/hello.sh>/dev/null 2>&1
后面加 >/dev/null 2>&1 这个为了避免启动报错
这里表示每一分钟执行一次;这里具体规则可以查文档;
Apr 30 15:10:11 iZ94ytpcjuhZ crontab[21895]: (root) END EDIT (root)
第三步:补充日志文件;
测试的时候压根就没找到日志文件在哪儿。后来找了资料发现日志记录未开启
开启步骤:
vi /etc/rsyslog.d/50-default.conf
# Default rules for rsyslog. # # For more information see rsyslog.conf(5) and /etc/rsyslog.conf # # First some standard log files. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog cron.* /var/log/cron.log #daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log #lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log #user.* -/var/log/user.log # # Logging for the mail system. Split it up so that # it is easy to write scripts to parse these files. # #mail.info -/var/log/mail.info #mail.warn -/var/log/mail.warn
去掉注释;
重启日志记录服务:sudo service rsyslog restart
重启cron服务: sudo service cron restart
Centos 稍微不同
crontab -e 编辑
规则一样
另外日志文件在etc目录下 这个应该是系统日志了 也可以自己定义
另外service crond restart | reload | start | stop