Linux 路径列表,其中的“虚拟”文件

Linux 路径列表,其中的“虚拟”文件

我不知道正确的术语,这可能是我在超级用户上找不到相关问题的原因。

我有一个备份脚本,可以将我的 Linux 服务器同步到远程位置。我的系统不是很大,因此备份所有内容是有意义的。但是,有些路径备份毫无意义,例如 /proc/*。

所以我将其排除在流程之外:

 rsync -avzh -e "ssh -p 1234" --exclude="/proc" --exclude="/tmp" /

但我猜想 Linux 中还有更多这样的路径。是否有一个包含所有带有“虚拟”文件的 Linux 路径的列表?

答案1

这可能因系统而异,取决于分布、安装的软件和配置。

在终端窗口中输入mount或。cat /etc/mtab不是以 开头是/dev/*指各种虚拟文件系统。此单行代码会过滤掉所有以上述模式开头的行:mount | grep -Ev '^/dev/'

示例输出:

$ mount | grep -Ev '^/dev/'                                                                                                                                         
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)                                                                                                                           
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)                                                                                                                            
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=215485,mode=755)                                                                                                       
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)                                                                                               
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=310348k,mode=755)                                                                                                           
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)                                                                                                           
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1245520k)                                                                                                         
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) 

答案2

rsync有一个选项-x(又名--one-file-system),它可以做很多你想要的事情:

rsync -ax / <somewhere>

这将备份根文件系统中存在的所有内容,但跳过单独安装的所有内容,包括/proc、、等。它还将跳过任何已安装的 CD、SD 卡、网络驱动器等/dev/run

如果您的发行版使用 tmpfs,/tmp那么它也会跳过该步骤,否则您仍需要手动执行该操作。同样,如果您的发行版不使用 udev,那么您也需要手动跳过该步骤/dev

相反,如果您/home生活在单独的分区上,那么您需要单独备份它,因为-x也会跳过它。

相关内容