gpt4 book ai didi

linux - rsync-创建每日备份并在 30 天后删除?

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:56 26 4
gpt4 key购买 nike

我正在尝试在 rsync 中编写一个脚本,以将每日备份保存在以创建日期命名的新目录中,然后在创建后 30 天将其删除。下面的代码可以工作,但它会很快填满我的内存,因为 -u 选项不会看到目录结构中的多个文件已存在于先前的备份中。有没有更好的方法来保留内存/带宽?我已经提到过 --delete 和 --backup-dir 选项,但我不知道它们如何应用于这个特定场景。

#!/bin/bash

#User who's files are being backed up
BNAME=username
#directory to back up
BDIR=/home/username/BackThisUp
#directory to backup to
BackupDir=/var/home/username_local/BackupTo
#user
RUSER=$USER
#SSH Key
KEY=/var/home/username_local/.ssh
#Backupname
RBackup=`date +%F`
#Backup Server
BServ=backup.server
#Path
LPATH='Data for backup'
#date
DATE=`date +%F`

#make parent directory for backup
mkdir $BackupDir/$BNAME > /dev/null 2>&1

#Transfer new backups
rsync -avpHrz -e "ssh -i $KEY" $BNAME@$BServ:$BDIR $BackupDir/$BNAME/$DATE


find $BackupDir/$BNAME -type d -ctime +30 -exec rm -rf {} \;

最佳答案

我可能会做一些更简单的事情。创建一个仅包含日期的哈希值 一天在其中。例如,8/11/2015 将哈希为 11

然后做类似的事情

# this number changes based on date.   
hash=`date +%d`
rm -rf backup_folder/$hash
# then recreate backup_folder/$hash

您将拥有大约 30 天的备份时间。您可能需要压缩这些文件夹,假设磁盘上可用文件夹的大小是该文件夹大小的 30 倍。

关于linux - rsync-创建每日备份并在 30 天后删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com