zoukankan      html  css  js  c++  java
  • Linux做脚本定时任务(定时清理日志)

        无论一些面试问题,还是实际应用,都会用到虚拟机的定时任务。现做定时清理日志日志做一总结。

    1、查看/etc/crontab文件。

    linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

    cron 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

    Linux下的任务调度分为两类,系统任务调度和用户任务调度。

    系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

    minute: 表示分钟,可以是从0到59之间的任何整数。

    hour:表示小时,可以是从0到23之间的任何整数。

    day:表示日期,可以是从1到31之间的任何整数。

    month:表示月份,可以是从1到12之间的任何整数。

    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

    2、删除文件命令:

    find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} ;

    实例命令:

    find /usr/local/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} ;

    说明:

    将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

    find:linux的查找命令,用户查找指定条件的文件;

    /opt/soft/log/:想要进行清理的任意目录;

    -mtime:标准语句写法;

    +30:查找30天前的文件,这里用数字代表天数;

    "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

    -exec:固定写法;

    rm -rf:强制删除文件,包括目录;

    {} ; :固定写法,一对大括号+空格++; 

    (注意:可添加:0 */1 * * * echo "Have a break now." >> /usr/local/myScript/logs/test.txt     每一个小时往test.txt中插入一条数据,主要用于测试是否执行该脚本。)

    3、给脚本添加权限:

    4、将脚本添加到定时任务。

    vim /var/spool/cron/root

    10 1 * * *  /usr/local/myScript/cleanlog.sh    每天凌晨1点10分执行

    (还可以使用命令直接进入编辑:crontab -e)

    查看定时任务:crontab -l

    总结:虚拟机的定时任务是作为测试人员必须掌握的内容。

    参考:https://blog.csdn.net/qq_39291929/article/details/79054452

         https://www.cnblogs.com/think-in-java/p/5712197.html

  • 相关阅读:
    整理 修改功能测试点
    centos 修改yum镜像源
    修改Docker容器的时间和宿主机一致
    Postgre Invalid command l;. Try ? for help.
    RGB渐变算法(JavaScript)
    docker postgre&postgis
    activiti+spring boot 报错: java.lang.NoClassDefFoundError: org/springframework/core/log/LogMessage
    Docker 创建 Postgre
    Jenkins+Gitlab+Maven 远程部署
    docker安装centos并ssh连接
  • 原文地址:https://www.cnblogs.com/zuoshaowei/p/10577443.html
Copyright © 2011-2022 走看看