小编ran*_*guy的帖子

计划文件夹备份

我正在寻找如何将 CentOs 7 中的用户主目录自动备份到远程主机或 NAS 或仅备份到 ~/.snapshot。在某些 Linux 设置中,我在用户的主目录 (~/.snapshot/) 中看到了一个 .snapshot 文件夹,其中保存了其主目录每小时、每晚和每周的备份(即 ~/.snapshot/weekly1 ,用于保存其主目录的副本) 1 周前位于用户的主目录中)。

/home/username/.snapshot/ 目录对于用户来说是只读的。它不是为了防止硬件故障而进行的备份。如果您不喜欢所做的更改,那么能够恢复昨天或今天早上的文件真是太好了。

我看过几篇有关堆栈溢出的相关帖子,但到目前为止,我还没有看到解释完整工作流程的指南。

这是我目前所知道的:

  1. 用于rsync将给定文件夹的内容复制到远程主机、NAS 或 (~/.snapshot/hourly0)
  2. 创建shell脚本来执行rsync命令

#!/bin/bash sudo rsync -av --progress --delete --log-file=/home/username/$(date +%Y%m%d)_rsync.log --exclude "/home/username/.snapshot" /home/username/ /home/username/.snapshot/hourly1

  1. 更改脚本的权限以使其可执行

sudo chmod +x /home/username/myscript.sh

  1. 用于crontab按所需的备份间隔安排 rsync 命令

  2. 在运行计划的每小时 rsync 之前,以某种方式将 hourly0 移动到 hourly1

  3. rsync 成功完成后删除最旧的备份

是否有任何指南介绍如何执行此操作?我不明白如何随着时间的推移自动重命名文件夹(即 Week1 到 Week2),或者如果我决定只保留最多 9 周,如何删除“week10”。这是另一项cron工作吗?

更新:经过更多谷歌搜索后,我发现 NetApp 创建了快照文件夹。我只是目前没有 NetApp NAS。https://library.netapp.com/ecmdocs/ECMP1635994/html/GUID-FB79BB68-B88D-4212-A401-9694296BECCA.html

cron backup rsync shell-script

5
推荐指数
1
解决办法
9007
查看次数

标签 统计

backup ×1

cron ×1

rsync ×1

shell-script ×1