您的位置:首页 > 运维架构 > Linux

LINUX定时清理文件定时任务

2017-05-28 22:23 218 查看


任务场景

文件夹下持续进入文件,每隔10分钟进行文件清理操作,压缩转移至备份服务器。


实现代码

[plain] view
plain copy

#!/bin/bash  

  

targetDIR=/aaa  

backDIR=/bbb  

  

cd $ targetDIR  

for name in *  

do  

    nowTime=`date "+Y%m%d_%H%M%S"`  

    cd $name  

    if ls *.txt > /dev/null 2>&1 ; then  

       mv *.txt $backDIR/$name/  

       tar -zcvf $nowTime"_"$name.tar.gz *.txt  

       rm *.txt  

     cd $targetDIR  

done  

exit 0  


代码解析

循环遍历文件夹进行文件获取,尤其需要注意该部分:

[plain] view
plain copy

if ls *.txt > /dev/null 2>&1 ; then  

ls所有以.txt为后缀的文件,如果不存在,将标准错误重定向到标准输出,这里2>&1 的意思就是将标准错误也输出到标准输出当中。重定向中 0-标准输出,1-标准输出,2-标准错误,而No such file or directory是一个标准错误。如果未添加该部分,如果未查到文件,则会导致后续命令无法顺序执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: