ChatGPT提问
添加每30天删除一次备份的文件,然后重新备份一次
ChatGPT的答案
要实现每30天删除一次备份的文件并重新备份,您可以在备份脚本中添加一个检查文件日期的步骤,并在超过30天时删除旧备份文件并创建新备份。以下是修改后的备份脚本:
#!/bin/bash
NOW=$(date +"%Y-%m-%d_%H-%M-%S")
SOURCE="/path/to/source/folder"
DESTINATION="/path/to/destination/folder"
FILENAME="backup_$NOW.tar.gz"
THIRTY_DAYS_AGO=$(date --date='30 days ago' +"%Y-%m-%d_%H-%M-%S")
OLD_FILE="$DESTINATION/backup_$THIRTY_DAYS_AGO.tar.gz"
# Check if old backup file exists and delete it
if [ -f "$OLD_FILE" ]; then
rm "$OLD_FILE"
fi
# Create new backup file
tar -czf "$DESTINATION/$FILENAME" "$SOURCE"
这个脚本将每次运行时检查是否有30天前的备份文件,如果存在,则删除它。然后,它会创建一个新的备份文件,命名为当前日期和时间。要添加这个脚本到cronjob,您可以遵循之前的说明,将它添加到crontab文件中:
0 2 * * * /path/to/backup.sh
这将在每天的上午2点运行备份脚本。在每个备份任务中,如果已经超过30天,则旧备份文件将被删除,并创建一个新的备份文件。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
暂无评论
要发表评论,您必须先 登录