我正在尝试一次压缩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
答案 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中为每个文件压缩它们。然后它删除所有文件。