Shell脚本存档&根据创建的文件日期删除超过5天的文件

时间:2018-04-27 06:53:29

标签: bash shell

我正在尝试一次压缩5天的日志并将压缩文件移动到另一个位置并从原始位置删除日志文件。我需要bash脚本来完成这个。我使用以下命令压缩文件,但无法将它们移动到存档文件夹。我还需要根据创建的日期进行压缩。现在它正在压缩所有以特定名称开头的文件。

#!/bin/bash
cd "C:\Users\ann\logs"
for filename in acap*.log*; do
# this syntax emits the value in lowercase: ${var,,*}  (bash version 4)
mkdir -p archive
 gzip  "$filename_.zip" "$filename"
mv "$filename" archive

done

1 个答案:

答案 0 :(得分:0)

#!/bin/bash
mkdir -p archive
for file in $(find . -mtime +3 -type f -printf "%f ")
do
    if [[ "$file" =~ ^acap.*\.log$ ]]
    then
        tar -czf archive/${file}.tar.gz $file
        rm $file
    fi
done

这将查找当前目录中与正则表达式匹配的所有文件,并在tar中为每个文件压缩它们。然后它删除所有文件。