zoukankan      html  css  js  c++  java
  • 自己用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/当前用户名就可以看到执行的记录。

    完毕。

  • 相关阅读:
    HDU 1285
    HDU 1251
    HDU 1166
    UVA 10003
    HDU 5968
    CodeForces 371C
    POJ 2456
    POJ 2250
    oracle的start with connect by prior
    Hibernate session中的createCriteria方法
  • 原文地址:https://www.cnblogs.com/crazycomputers/p/11981013.html
Copyright © 2011-2022 走看看