| 
                         第一段代码指定了数据路径、备份路径、脚本路径以及昨天和今天的备份路径。第二段代码调用 rsync 命令。最后一段代码执行 deleteOldBackups.sh 脚本,它会清除一些过期的没有必要的备份数据。如果不想频繁的调用 deleteOldBackups.sh,你也可以手动去执行它。 
下面是今天讨论的备份策略的一个简单完整的示例脚本。 
#!/bin/bashBACKUPDIR=/nas/backup/-  
 function listYearlyBackups() {        for i in 0 1 2 3 4 5                do ls ${BACKUPDIR} | egrep "$(date +%Y -d "${i} year ago")-[0-9]{2}-[0-9]{2}" | sort -u | head -n 1        done}-  
 function listMonthlyBackups() {        for i in 0 1 2 3 4 5 6 7 8 9 10 11 12                do ls ${BACKUPDIR} | egrep "$(date +%Y-%m -d "${i} month ago")-[0-9]{2}" | sort -u | head -n 1        done}-  
 function listWeeklyBackups() {        for i in 0 1 2 3 4                do ls ${BACKUPDIR} | grep "$(date +%Y-%m-%d -d "last monday -${i} weeks")"        done}-  
 function listDailyBackups() {        for i in 0 1 2 3 4 5 6                do ls ${BACKUPDIR} | grep "$(date +%Y-%m-%d -d "-${i} day")"        done}-  
 function getAllBackups() {        listYearlyBackups        listMonthlyBackups        listWeeklyBackups        listDailyBackups}-  
 function listUniqueBackups() {        getAllBackups | sort -u}-  
 function listBackupsToDelete() {        ls ${BACKUPDIR} | grep -v -e "$(echo -n $(listUniqueBackups) |sed "s/ /|/g")"}-  
 cd ${BACKUPDIR}listBackupsToDelete | while read file_to_delete; do        rm -rf ${file_to_delete}done
  
这段脚本会首先根据你的备份策略列出所有需要保存的备份文件,然后它会删除那些再也不需要了的备份目录。 
下面创建一个定时任务去执行上面这段代码。以 root 用户权限打开 crontab -e,输入以下这段命令,它将会创建一个每天凌晨 2 点去执行 /nas/data/backup_scripts/daily.sh 的定时任务。 
0 2 * * * /nas/data/backup_scripts/daily.sh
  
有关创建定时任务请参考 cron 创建定时任务。 
    - 当没有备份任务时,卸载你的备份盘或者将它挂载为只读盘;
 
    - 利用远程服务器作为你的备份盘,这样就可以通过互联网同步数据
 
 
你也可用下面的方法来加强你的备份策略,以防止备份数据的误删除或者被破坏: 
本文中备份策略示例是备份一些我觉得有价值的数据,你也可以根据个人需求去修改这些策略。 
我将会在 《树莓派自建 NAS 云盘》 系列的第三篇文章中讨论 Nextcloud。Nextcloud 提供了更方便的方式去访问 NAS 云盘上的数据并且它还提供了离线操作,你还可以在客户端中同步你的数据。 【编辑推荐】 - 如何使用树莓派测定颗粒物(PM 2.5)
 - 使用树莓派构建一个婴儿监视器
 - 如何使用树莓派制作一个数字针孔摄像头
 - 将你的树莓派打造成一个Tor中继节点
 - 树莓派自建NAS云盘之——树莓派搭建网络存储盘
  【责任编辑:庞桂玉 TEL:(010)68476606】 
            点赞 0                        (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |