自己用crontab弄个定时任务备份日志重启项目
项目久了就会出现很多日志,如果不清理就会占用很大的空间,今天就记录下自己在系统弄的第一个定时任务。
要完成这个定时任务需要两方面的知识:
1.写出一个日志备份的脚本;
2.用crontab命令设置一个定时任务来执行脚本。
首先可以写一个测试的脚本试一下,这里提供一个重启项目的脚本供参考:
#!/bin/sh #-------------------- #---自动化脚本----- #----------------- TOMCAT_PATH=/home/fssc/tomcat-EAS/bin echo "开始执行定时器任务" echo "ps -ef|grep tomcat-EAS" jobid=$(ps -ef|grep 'tomcat-EAS' | grep java | awk '{print $2}') echo $jobid kill -9 $jobid echo "睡一会5.4.3.2.1.." sleep 5 echo "重启服务..." sh /home/fssc/tomcat-EAS/bin/startup.sh echo "定时任务结束end......."
crontab命令使用:
crontab -l:查看是否有定时任务;
crontab -e:编辑一个定时任务;
案例: 10 23 * * * sh /home/fssc/restart.sh 每晚十一点10分执行
遇到的问题:
1.脚本执行出错。
写出脚本之后可以先用sh命令运行下,比如只写输出的逻辑,先保证脚本能正常运行后再开始定时任务。
2.脚本没权限执行。
给使用这增加可执行权限,chmod 777 restart.sh
如果希望其他角色也能执行也可以增加权限,chmod o+x,u+x
3.怎么看定时任务是否执行成功
如果脚本中有输出的语句,可以直接看工具的图形界面。
如果没看到,可以查看执行结果邮件。
邮件会发送到当前用户下,地址是 /var/spool/mail/当前用户名
通过cat /var/spool/mail/当前用户名就可以看到执行的记录。
完毕。