• Linux周期性任务的执行指令配置


    我的人生不能再这样了!

    想半天也不知道用什么标题比较好!通俗的讲就是在Linux服务器上重复的有周期性的做某些事情.

    导火索:oracle备份文件没日没夜的增大,知道占满整个空间,如果不删除旧的,新的就生成不了.

    关键词:crontab

    什么都不知道的情况下当然不能拿服务器备份文件做实验,首先解决周期循环新建文件.

    什么命令新建文件→touch

    生成什么文件名→以当前时间命名例如201304271958→$(date -d "today" +"%Y%m%d%H%M")

    接下来试试下面的命令

    touch $(date -d "today" +"%Y%m%d%H%M").txt

    再ls一下,可以发现会有一个新建的txt文件,名称是当前时间.

    接下来我们要做到效果是每分钟生成一个txt文件.

    编写shell脚本(生成的文件在/opt目录下下)

    #vi jiaoben.sh

    touch /opt/$(date -d "today" +"%Y%m%d_%H%M").txt;

    给jiaoben.sh添加可执行权限

    #chmod +x jiaoben.sh

    可以试试是否有效果:

    #./jiaoben.sh

    如果ls后发现目录下有对应时间的txt文件生成则说明成功.

    最后是周期性任务的配置,利用cron服务,具体详细可以谷歌维基一下

    修改指定文件(最后一行添加),假设jiaoben.sh在/opt目录下

    #vi /etc/crontab

    */1 * * * * root /opt/jiaoben.sh

    以上配置表明每一分钟,任何小时,任何天,任何月,无论星期几,root用户执行脚本jiaoben.sh

    具体说明猛击这里

    保存后,就应该有效果了,每隔一分钟都会在/opt目录下新建生成一个txt文件.

    至此目的已达到.

    附上有趣的例子.(始终/opt下面都只存在一个txt文件)

    #vi jiaoben.sh

    touch /opt/$(date -d "today" +"%Y%m%d_%H%M").txt;

    /usr/bin/find /opt/*.txt -cmin +1 -exec rm {} \;

    该命令是每分钟生成一个txt文件,删除一分钟之前的txt文件,注意我是在Ubuntu下实现的,貌似redhat下面是两分钟之前,具体未深究.

    关于find命令可以自己去查询相关资料.

    至此,实验结束,我已解决我的问题.

  • 相关阅读:
    CentOS7安装minio
    xshell连接虚拟机Connection failed
    Mysql时间加减函数
    mysql存储过程模板
    Activiti实现会签功能
    2018考研复试流程
    C编程经验总结5(剧终)
    《数据结构总结》
    《关于安卓和IOS开发》
    番外特别篇之 为什么我不建议你直接使用UIImage传值?--从一个诡异的相册九图连读崩溃bug谈起
  • 原文地址:https://www.cnblogs.com/snackuo/p/3041322.html
Copyright © 2020-2023  润新知