下面给出一个示例 Shell 脚本,该脚本可以从指定的两个路径中删除所有旧文件,并使用tar命令进行压缩:
#!/bin/bash
# 配置要删除的路径和文件类型
path1="/path/to/folder1/"
path2="/path/to/folder2/"
filetype="*.log"
# 删除旧文件
find $path1 -name "$filetype" -type f -mtime +7 -exec rm {} \;
find $path2 -name "$filetype" -type f -mtime +7 -exec rm {} \;
# 压缩所有文件
timestamp=$(date +%Y%m%d-%H%M%S)
tar -czvf /path/to/backups/backup-$timestamp.tar.gz $path1 $path2
解释一下代码。首先,我们定义了要删除的两个路径和要删除的文件类型。在该示例中,我们要删除路径下的所有以'.log”结尾的文件,并且只删除7天前的文件。然后,我们使用'find”命令来找到并删除这些旧文件。
接下来,我们使用当前日期和时间戳为文件名创建一个备份文件。然后,我们使用'tar”命令来压缩路径下的所有文件,并将其保存到'/path/to/backups”目录下。
最后,我们可以将此示例脚本保存为'backup.sh”文件,并通过以下命令运行该脚本:
bash backup.sh
注意:在运行脚本之前,需要确保您具有适当的权限来删除和压缩文件。