【问题标题】:rsync- create daily backups that are deleted after 30 days?rsync - 创建 30 天后删除的每日备份?
【发布时间】:2015-08-11 14:14:41
【问题描述】:

我正在尝试在 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 {} \;

【问题讨论】:

    标签: linux ssh backup rsync


    【解决方案1】:

    我可能会做一些更简单的事情。创建一个只有日期的哈希 一天在里面。例如,2015 年 8 月 11 日将哈希为 11

    然后做类似的事情

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 2015-06-29
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多