FreeBSD下网络备份Net Backup System的实现( 二 )





主机IP:备份路径:主机口令;



分述如下:



1. 主机 IP(or Domain Name) -> 即为要将数据备份到备份主机的 IP 地址或是Domain Name .

2. 备份路径 -> 即当欲备份的主机将数据传过来时要放置的目录 .

3. 主机口令 -> 即欲备份主机欲取得备份服务时所需传送过来的密码 .



每一台欲备份主机都需在此文件内有一行描述 , 每行描述都须以『;』作为结尾 , 下面是一个例子 :



假设有一台主机 ip 地址为 192.168.1.4 , 其数据将备份至备份主机的 /backup/polaris

下 , 且其密码被设定为 test , 则此主机的描述行应该同下:



192.168.1.4:/backup/polaris:test;



当您将您网络上欲备份的主机的描述都写入此档后 , 这些主机就可以执行client 端的程序 ,开始将数据备份过来 . 至 此 Server 端的设定工作已经完成 , 需要注意的是 ,此描述文件内的『密码字段』并未编码 , 因此管 理 Backup Server 的管理员需特别注意此档案的权限 , 请将其设为只有 root 可以读写 ,即 chmod 0600 /etc/ backup.servers, 否则一旦被一般 user 看见 , 则此 user 如果又在某一台主机拥有账号 , 那么他就能将其数据备份到此 备份主机上 , 所以随时保持此文件只有 root 能读写是很重要的 .



而密码栏的设定可以包括除了『;』之外的可见字符和空格 , 也就是说您可以设定一长字串当作密码 , 密码的给定需 要在 Server 端设好 , 也就是说 Backup Server 的管理员必须将密码设定好后 , 再告诉欲备份主机的管理员 , 让其 在 client 端作设定 .



另外 , 密码字段的密码至少需要 4 个字符 , 因为密码是用来当作数据传送时的 KEY ,所以一定要设定 , 且至少需 要 4 个字符 .



当您的备份系统开始运作后 , 一旦有 client 端一有 request , nbsd 会将 client端的访问记录放在 /var/log/nbsd 这个文件 内 , 备份主机管理员应随时查看这个文件 .



Client 端

---------

如果您的机器是某台备份主机的 client 端 , 请按照安装程序将 client 程序安装完成, 在安装完成 client 端程序后 , 请 向您的 备份主机 的管理员取得下面的数据 :



1 . 您的备份密码 .

2 . 备份主机的 IP Address 或 Domain Name .



取得您所需的数据后 , 就可以开始设定 client 端了 , 请依照下面的步骤来做 :



Step 1 :

首先请打 setnbs , 此时会出现一个有四个选项的 menu , 您可以利用这个 menu来设定您的 nbs , 如果您选择 1 , 就 可以设定您的备份密码 , 这个密码会存于/etc/config.nbs 里 , 此檔只有 root 才能读写 , 如果您选择 2 的话 , 就会设定 您的备份主机的地址 , 此地址可以是 ip 也可以 domain name , 1.0.1r版以前 , 备份主机的地址是利用系统变量去存取 的 , 也因此无法利用 crontab来定时备份 , 因此现在改用 档案去存此变量 , 备份主机的地址也将存在/etc/ config.nbs 里 , 如果你选择 3 , 则可设定两者 .



Step 2 :

设定完后 , 再来就是编写『备份描述档』, 这个描述档主要是让您设定那些目录要备份 , 备份后的档名为何 , 主 要的语法描述如下 :



#comment

package --> 一定要以 package 开头 , 否则 { } 内的描述就会被忽略 .

{

what: /etc; --> 设定那个目录要备份 , 需以 『;』做结尾 .



filename: etc.tgz; --> 设定备份到备份主机上的文件名 , 也需以『;』做结 .

}

# another package

package

{

what: /user;

filename: user.tgz

;

}

......



注意: what: 之后的目录不可以为 symbol link 的目录 , 否则会被略过不予备份.

推荐阅读