1

Я не знаю правильной терминологии, и это, вероятно, причина, по которой я не могу найти связанный вопрос здесь на Superuser.

У меня есть резервный скрипт, который синхронизирует мой сервер Linux с удаленным местоположением. Моя система не очень большая, поэтому имеет смысл сделать резервную копию всего. Тем не менее, некоторые пути не имеют смысла для резервного копирования, как /proc /*.

Поэтому я исключаю это из процесса:

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

Но я думаю, что есть и другие пути в Linux. Есть ли где-нибудь список всех путей linux с "виртуальными" файлами?

2 ответа2

2

rsync есть опция -x (aka --one-file-system), которая будет делать то, что вы хотите:

rsync -ax / <somewhere>

Это создаст резервную копию всего, что существует в корневой файловой системе, но пропустит все смонтированные отдельно, включая /proc , /dev , /run и т.д. Также пропустит любые смонтированные CD, SD-карты, сетевые диски и т.д.

Если ваш дистрибутив использует tmpfs для /tmp он также пропустит это, но в противном случае вам все равно придется делать это вручную. Точно так же, если ваш дистрибутив не использует udev, вам также придется пропустить /dev вручную.

И наоборот, если ваш /home живет в отдельном разделе, вам нужно будет сделать это отдельно, потому что -x также пропустит это.

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) 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .