Ses*_*onR 7 command-line backup rsync disk-usage files
过去几个小时我一直试图保存我的“/”但没有成功:(
我在 Debian 的一个测试分支上,我想每次更新前都保存我的系统。备份将在第二个驱动器上进行,该驱动器是可启动的 Win7。
sudo rsync -aAXv --inplace --info=progress2 --no-whole-file --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/home/*} / "/media/sessionR/Disque Dur 1/System_save_sauvegarde_25.03.2017/" > save.txt
Run Code Online (Sandbox Code Playgroud)
下面相同的命令(不确定最佳可读性)
sudo rsync -aAXv --inplace --info=progress2 --no-whole-file --exclude={"/dev/\*","/proc/\*","/sys/\*","/tmp/\*","/run/\*","/mnt/\*","/media/\*","/lost+found","/home/\*} / "/media/sessionR/Disque Dur 1/System_save_sauvegarde_25.03.2017/" > save.txt
Run Code Online (Sandbox Code Playgroud)
源“/”在我的内部笔记本电脑 sata 硬盘上。
目标“/media/sessionR/Disque Dur 1/System_save_sauvegarde_25.03.2017/”是“/dev/sdb2”的挂载点,它是替代 DVD 驱动器的第二个内部 sata 硬盘驱动器。
复制一些文件后,大量文件出现错误:设备上没有剩余空间(28):
rsync: recv_generator: mkdir "/media/sessionR/Disque Dur 1/System_save_sauvegarde_25.03.2017/var/tmp" failed: No space left on device (28)
*** Skipping any contents from this failed directory ***
Run Code Online (Sandbox Code Playgroud)
下面的最终结果就像 2Gb 而不是试运行宣布的 ±11Gb:
sent 2,554,663,982 bytes received 1,188,942 bytes 17,446,095.04 bytes/sec
total size is 11,825,525,653 speedup is 4.63
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]
Run Code Online (Sandbox Code Playgroud)
我不明白;我有足够的空间:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 376M 21M 356M 6% /run
/dev/sda1 18G 12G 5.3G 69% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 2.7G 1008M 1.6G 39% /var
/dev/sda8 120G 91G 24G 80% /home
/dev/sda7 360M 32M 306M 10% /tmp
tmpfs 376M 24K 376M 1% /run/user/1000
/dev/sdb2 287G 240G 47G 84% /media/sessionR/Disque Dur 1
Run Code Online (Sandbox Code Playgroud)
可能与文件系统有关吗?(隐藏 NTFS WinRE+ HPFS/NTFS/exFAT)
findmnt /dev/sdb2
TARGET SOURCE FSTYPE OPTIONS
/media/sessionR/Disque Dur 1 /dev/sdb2 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permis??sions,allow_other,bl??ksize=4096
sudo fdisk -l
[sudo] password for sessionR:
Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5def152b
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 38057983 38055936 18.2G 83 Linux
/dev/sda2 38057984 312581807 274523824 130.9G 5 Extended
/dev/sda5 38060032 43917311 5857280 2.8G 83 Linux
/dev/sda6 43919360 56475647 12556288 6G 82 Linux swap / Solaris
/dev/sda7 56477696 57255935 778240 380M 83 Linux
/dev/sda8 57257984 312580095 255322112 121.8G 83 Linux
Disk /dev/sdb: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf571c4f5
Device Boot Start End Sectors Size Id Type
/dev/sdb1 63 25173854 25173792 12G 27 Hidden NTFS WinRE
/dev/sdb2 * 25174016 625139703 599965688 286.1G 7 HPFS/NTFS/exFAT
Run Code Online (Sandbox Code Playgroud)
显然它不是inode:
df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 467K 471 466K 1% /dev
tmpfs 470K 772 469K 1% /run
/dev/sda1 1.2M 441K 712K 39% /
tmpfs 470K 1 470K 1% /dev/shm
tmpfs 470K 6 470K 1% /run/lock
tmpfs 470K 15 470K 1% /sys/fs/cgroup
/dev/sda5 179K 17K 162K 10% /var
/dev/sda7 96K 26 96K 1% /tmp
/dev/sda8 7.7M 50K 7.6M 1% /home
tmpfs 470K 21 470K 1% /run/user/1000
/dev/sdb2 47M 271K 47M 1% /media/sessionR/Disque Dur 1
Run Code Online (Sandbox Code Playgroud)
你会怎么办?
仍然没有运气。事实上,我不能再在第二个磁盘(目的地)上复制任何东西,它总是会说它已满。
显然,文件系统文件的存在对复制/粘贴操作造成了严重破坏,这是一个真正的问题,因为它正是我想要保存的!
你的外置磁盘只剩下 47G 了。您的/home分区重 91G。
今天的 Linux 发行版提供加密,并且存在一个/home/.ecryptfs实际保存所有文件的隐藏目录并不少见。您的排除规则/home/*不会排除该目录。
如果你想也排除隐藏目录,排除整体/home,不是/home/*。顺便说一句,考虑一下这个--one-file-system选项,我发现/在排除一长串目录的同时保存很容易出错。