本文解释常见的Unix备份命令,以及Webmin如何使用它们执行一次性或定期备份和恢复。
内容
几乎所有Unix和Linux系统带有tar命令,它可以备份多个文件和目录到单个文件,保留了所有权限和所有者信息。tar是最常见的Unix备份格式,虽然它原来被设计为备份磁带(tar表示Tape Archive),它对本地或者远程文件同样有效。如果你熟悉Windows系统上zip格式,tar非常类似。
大部分系统出货时带有dump和restore命令,它们类似tar,但当它遇到访问文件系统时在更低级别运行。而tar对任何文件(本地,在可移除驱动器上,或者被从NFS或SMB服务器挂载)有效,dump命令只能在一个本地文件系统上备份文件。但它有其能够备份文件属性的优点,由于在它的文件格式中的缺点,tar丢失文件属性,诸如EXT2属性和Posix ACLs。
当它遇到选择要使用哪种格式时,如果你想要备份非本地文件,或者如果你需要在一个运行一个不同OS的系统上恢复,tar是必需的。只在你需要备份带有ACLs或者tar缺失的其它属性时才推荐dump格式。
这个模块使你能够用各种各样的格式定义备份作业,并且对本地或远程目标执行一次性或者定期备份。它也能用格式恢复它创建的备份。
当你打开这个模块(在System类别下),它将显示如下的一个已有备份作业的列表:
如果这个是你首次这个模块, 备份表格将为空。
在这个模块的配置中应该定义一些重要设置。如果你想要hourly/daily/weekly/monthly/yearly备份,变量替换将是必需的。
要创建一个备份作业,做以下事情:
1) 在*Add a new backup of directory*右边字段中,输入你想要保存目录的完整路径。默认,这个模块将为备份使用dump命令,但如果你选择tar格式,你应该勾选*In tar format*复选框。接着点击这个按钮。剩下步骤将认为你选择了Tar选项,由于那是最常用格式。
2) 在*Add New Backup*表单中,添加要备份的其它路径到*Directory to backup*字段。
3) 在*Backup to*部分,如果你想要在相同文件系统上保存到一个文件中,你可以选择File or tape device。在相邻字段,输入一个像/backup/myfile.tar的路径,或者如果你有一个连接的磁带驱动器,使用一个像/dev/st0的路径。此外,你可以选择Host选项,并且输入一个远程主机名,登录名和远程文件到它旁边的三个字段。在大多数情况中,远程备份显然更可取,由于如果正在受到备份的系统故障了,能够完全恢复它们。
4) 如果执行一个远程备份,*Remote backup command*字段能够用于选择要用于传输备份的协议。SSH是最常用的,但如果你在远程系统上没有一个SSH登录,FTP是合适的替代。默认RSH协议现在基本不再使用。
5) 如果通过SSH或FTP备份,你将需要输入密码到*Password for SSH/FTP login*字段。如果在源系统上的root用户设置了它的.ssh目录允许无密码登录作为目标用户,可以省略这个。
6) 在Backup options中的大部分字段可以保留默认值。唯一的列外是*Compress archive?*,如果你的备份不是到一个磁带设备,应该设置其为Gzip或Bzip2。
7) 如果你想要定期运行这个备份,选择*Scheduled backup enabled*单选按钮并且输入邮件地址取通知到Email scheduled output to字段。
8) 从Cron time/date chooser选择要运行的一个时刻表。
一旦定义了一个备份作业,通过点击在备份作业表格最后一列的Backup..链接,可以启动它。默认,这将一一个前台进程启动这个作业,因而你可以在浏览器中查看它。对于长作业,在后台运行它们更好,因而关闭这个浏览器不中断这个过程。要启用这个功能,点击Module Config链接并且更改*Run backups in*为Background。
在后台运行的作业(从web界面显式启动或者按时刻表运行)将在这个模块主页上在Running Backup Jobs头下被显式。通过点击Action列中链接,你能够终止运行的作业。
一旦一个作业已经被定义,你可以通过点击在这个模块主页上备份作业表格中第一列中源目录来编辑它。这将产生一个与创建一样的表格,在这个表格中所有作业设置都可以被调整。
要删除一个作业,选择这个模块主页边上的复选框,并且点击*Delete Selected Backups*按钮。
如果严重故障出现,Webmin能够用于使用这个模块恢复备份,甚至或用tar和dump命令手动进行备份。做这件事情的步骤是:
1) 在这个模块主页上点击你想要恢复的作业。
2) 在这个表单底部,点击Restore按钮。这将用已经被填入的资源生成一个表单,如下所示。
3) 要只恢复这个备份中一些文件,为*File to restore*选择Listed files,并且在相邻文本字段中输入一个空白隔开的路径列表。这些一般是绝对路径,如/etc/passwd。
4) 输入一个目标路径到Restore to directory字段。你可以输入/恢复原先路径,或者像/tmp在手动验证文件并且复制它们到它们的正确位置前恢复在其它地方。
5) 如果你想要实际恢复文件,更改Only show files in backup?选项为No。当这设置成Yes,Webmin只是显式备份包含什么文件,而不是恢复。
6) 点击Restore Backup Now按钮。