UNIX/Linux 如何备份目录和文件
时间:2019-11-20 08:54:06 来源:igfitidea点击:
如何使用dump命令备份系统到磁带库或者远程服务器中?
在使用dump备份文件系统时,如何排除某些目录和文件?
在带库备份时,如何不备份某些目录?
FreeBSD nodump和dump标识
chflags命令按照标志操作数指定的方式修改列出文件的文件标志:
nodump
:设置nodump标志dump
:清除nodump标志
如何查看FreeBSD UFS文件系统上的dump标识
查看/var/cache/squid目录中的dump标识
# ls -ldo /var/cache/squid/
输出示例
drwxr-xr-x 11 root wheel - 512 Jun 7 14:51 /var/cache/squid/
在dump备份时,排除/var/cache/squid /目录
执行以下命令:
# chflags nodump /path/to/dir # chflags nodump /var/cache/squid # ls -ldo /var/cache/squid
输出示例:
drwxr-xr-x 2 root wheel nodump 512 Jun 7 14:51 /var/cache/squid/
删除标志,执行:
# chflags dump /var/cache/squid # ls -ldo /var/cache/squid
输出示例:
drwxr-xr-x 11 root wheel - 512 Jun 7 14:51 /var/cache/squid/
现在,要将/var文件系统全量备份到/dev/sa0磁带,执行:
# /sbin/dump -0uLf /dev/sa0 /var
如果要进行增量备份,执行:
# /sbin/dump -1uLf /dev/sa0 /var
默认情况下,0级备份(全量备份)不能排除文件。
-h选项指定在哪个级别以上才能使用nodump标志。
默认值是1,也就是说默认只有增量备份才能使用nodump标志。
如果我们想全备也可以使用nodump标志。那么语法如下:
# /sbin/dump -h0 -0ulf /dev/sa0 /var
Linux dump程序的d属性
在Linux内核2.5.19及更高版本才可以使用d属性。
设置了d属性的文件或目录不备份。
可以使用chattr命令设置此属性。
查看d属性
要查看文件的属性,使用lsattr命令:
# lsattr -d /path/to/file # lsattr -d /var/spool/squid
输出示例:
------------------- /var/spool/squid/
设置d属性
使用chattr命令设置d属性,如下所示:
# chattr +d /var/spool/squid # lsattr -d /var/spool/squid/
输出示例:
------d------------ /var/spool/squid/
要清除d属性,执行:
# chattr +d /var/spool/squid # lsattr -d /var/spool/squid/
输出示例:
------------------- /var/spool/squid/
要从0级开始备份(全备),例如:
# /sbin/dump -0u -f /dev/st0 /var