dump命令用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
语法
dump(选项)(参数)
选项
-0123456789:备份的层级;
-b<区块大小>:指定区块的大小,单位为KB;
-B<区块数目>:指定备份卷册的区块数目;
-c:修改备份磁带预设的密度与容量;
-d<密度>:设置磁带的密度。单位为BPI;
-f<设备名称>:指定备份设备;
-h<层级>:当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件;
-n:当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知;
-s<磁带长度>:备份磁带的长度,单位为英尺;
-T<日期>:指定备份的时间与日期;
-u:备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等;
-w:与-W类似,但仅显示需要备份的文件;
-W:显示需要备份的文件及其最后一次备份的层级、时间与日期。
参数
备份源:指定要备份的文件、目录或者文件系统。
实例
将/home
目录所有内容备份到/tmp/homeback.bak
文件中,备份层级为0
并在/etc/dumpdates
中记录相关信息:
dump -0u -f /tmp/homeback.bak /home
将/home
目录所有内容备份到/tmp/homeback.bak
文件中,备份层级为1
(只备份上次使用层次0
备份后发生过改变的数据)并在/etc/dumpdates
中记录相关信息:
dump -1u -f /tmp/homeback.bak /home
通过dump命令的备份层级,可实现完整+增量备份、完整+差异备份,在配合crontab可以实现无人值守备份。
举例:
dump -0f /tmp/user.bak /home/ubuntu
将/home/ubuntu这个目录里面的东西备份成/tmp/user.bak文件,备份层级为0。
dump -1f /tmp/user.bak /home/ubuntu
将/home/ubuntu这个目录里面的东西备份成/tmp/user.bak文件,备份层级为1。只备份上次备份层级为0后发生过更改的部分。
遇到的问题:
dump -0u -f /tmp/ubuntu.bak /home/ubuntu
DUMP: You can't update the dumpdates file when dumping a subdirectory
DUMP: The ENTIRE dump is aborted.
解答:当备份为一个独立的文件系统(独立的分区)时,可以使用-u,如果只是备份目录下的文件时,不能使用-u
sudo dump -1f /tmp/opt_ros /opt/ros
[sudo] password for ubuntu:
DUMP: Only level 0 dumps are allowed on a subdirectory
DUMP: The ENTIRE dump is aborted.
解答:当备份为一个独立的文件系统(独立的分区)时,可以使用多层级备份。如果只是备份目录下的文件时,只能使用-0
dump -0 -f /tmp/ubuntu.bak /home/ubuntu/
DUMP: Date of this level 0 dump: Wed Oct 18 11:36:22 2017
DUMP: Dumping /dev/sda1 (/ (dir home/ubuntu)) to /tmp/ubuntu.bak
DUMP: Cannot open /dev/sda1
DUMP: The ENTIRE dump is aborted.
解答:没有用sudo,无权限操作