backup是什么意思啊? 使用backupninja备份Debian系统的教程( 二 )


文章插图

一旦你完成了上面的步骤 , 按 OK 选项来继续 。 接着你将能够选择是愿意使用默认的配置文件(/etc/backup.d/10.sys)来完成这次备份操作 , 还是创建一个新的配置文件 。 若为后者 , 一个含有与默认配置文件内容相同的文件将会在相同的目录下被创建 , 但它被命名为 11.sys , 后续的备份操作将会创建类似的文件(注:只不过命名的序号不同) 。 需要说明的是一旦这个新的配置文件被创建 , 你便可以使用你喜爱的文本编辑器来编辑该文件 。

backup是什么意思啊? 使用backupninja备份Debian系统的教程

文章插图

案例 2: 一个远程目录的增量式 Rsync 拉取备份
正如你最有可能知道的那样 , rsync 被广泛地用于通过网络同步文件或文件夹 。 在接下来的例子中 , 我们将讨论一个使用硬链接来为一个远程目录做增量式拉取备份的方法 , 它被用来保存历史数据以及在我们本地的文件服务器中恢复这些历史数据 。 这个方法将帮助我们节省空间并增强位于服务器端的安全性 。
步骤 1:编写一个带有如下内容的自定义脚本 , 放在 /etc/backup.d , 并将它的权限设置为 600 。 需要说明的是 , 除了一般的配置文件 , 这个目录可能还包含当 backupninja 执行时你想运行的一些脚本文件 , 它们可以发挥出位于主配置文件中的变量的优势 。
代码如下:
# REMOTE USER
user=root
# REMOTE HOST
host=dev1
# REMOTE DIRECTORY
remotedir=/home/gacanepa/
# LOCAL DIRECTORY
localdir=/home/gacanepa/backup.0
# LOCAL DIRECTORY WHERE PREVIOUS BACKUP WAS STORED
localdirold=/home/gacanepa/backup.1
mv $localdir $localdirold
# RSYNC
rsync -av –delete –recursive –link-dest=$localdirold $user@$host:$remotedir $localdir
在上面的配置中 , rsync 的 ‘–link-dest’ 选项的作用是为位于 $localdir-old 目录中那些没有改变的文件(包含所有属性) 硬链接到目标目录($localdir) 。
步骤 2:在 backupninja 第一次运行之前 , 上层目录(这个例子中指的是 /home/gacanepa) 是空的 。 第一次我们执行下面的命令:
代码如下:
# backupninja -n
backup.0 目录就被创建了 , 并在接下来的过程中 , 它的名称将会被更改为 backup.1 。
当我们第二次运行 backupninja 时 , backup.0 将会被重新创建 , 而 backup.1 保持不动 。
backup是什么意思啊? 使用backupninja备份Debian系统的教程

文章插图

步骤 3: 确保 backup.1 里面的文件硬链接到 backup.0 里的文件 , 我们可以通过比较文件的 inode(i 节点)数和目录的大小来达到此目的 。
backup是什么意思啊? 使用backupninja备份Debian系统的教程

文章插图

总结
Backupninja 不仅是一个经典的备份工具 , 它也是一个易于配置的实用程序 。 你可以通过编写你自己的控制脚本 , 用放在 /etc.backup.d 中的不同的配置文件来运行 backupninja 。 甚至你还可以为 ninjahelper 编写助手程序 , 并将其包括在 ninjahelper 的主界面上 。
【backup是什么意思啊? 使用backupninja备份Debian系统的教程】例如 , 假如你在 /usr/share/backupninja目录中创建了一个名为 xmodulo 的控制脚本 , 它将自动运行那些位于 /etc/backup.d 目录中以 .xmodulo 为后缀的每个文件 。 如果你决定添加你的 xmodulo 控制脚本到 ninjahelper 中 , 你可以编写相应的助手程序 , 即 xmodulo.helper 。 另外 , 假如你想 让 backupninja 运行其它的脚本 , 只需把它添加到 /etc/backup.d 目录中就可以了 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。