С помощью cygwin, rsync и SSH я настроил механизм резервного копирования, который копирует все содержимое vServers (под управлением Debian) на мой локальный жесткий диск NTFS (под управлением Windows 10), и он работает. Частично.

Я использую эту команду:

rsync -avzu --no-perms \
  --exclude 'bin' \
  --exclude 'dev' \
  [...]
  --exclude 'sys' \
  --exclude 'tmp' \
  --exclude 'var/tmp' \
  --exclude 'var/cache' \
  [user]@[domain]:/ /var/vserver-backup

И, конечно, это приводит к тому, что все файлы теряют свои права при копировании (то есть из-за аргумента --no-perms ). Также я не совсем уверен, смогу ли я правильно скопировать символические ссылки обратно на vServer.

Я хочу, чтобы локальные файлы (копии) были доступны мне на этом локальном компьютере (используя NTFS). Поскольку разрешения Linux будут дико сопоставляться с любыми учетными записями моих локальных компьютеров и, следовательно, могут быть недоступны, использование NTFS-ACL кажется не очень хорошей идеей, верно? С другой стороны, я хочу иметь возможность аккуратно восстановить эту резервную копию, включая ACL и символические ссылки. И да, vServer установил расширенные списки ACL для некоторых файлов и даже каталогов (устанавливается с помощью setfacl).

Это возможно было бы возможно, если бы я использовал tar вместо rsync , не так ли? Но это заняло бы значительно больше времени, так как не только передавало дельту, верно? (Я не уверен, что tar вообще возможен ...)

Таким образом, возможно ли в Debian способ автоматически создать файл, содержащий разрешения для всех файлов и расположение символических ссылок, чтобы его можно было выполнить после восстановления резервной копии? Я представляю, что это сценарий оболочки в этом формате:

chown root:root /var
chmod 0755 /var
chown root:root /var/data
chmod 0755 /var/data
[...]
ln -s /etc/some/file /etc/path/to/symlink
[...]
chown root:root /www
chmod 0700 /www
setfacl -d -m g:www-data:rx /www

Этот файл, конечно, будет создан на стороне сервера и скопирован командой rsync на локальный жесткий диск вместе со всеми остальными файлами.

Есть ли известный способ сделать это? Или у вас есть другие предложения? Чтобы ты делал?

0