Я пытаюсь настроить систему резервного копирования с помощью rsnapshot, который будет копировать файлы из удаленного места в локальное. У меня настроен rsnapshot, насколько я понимаю правильно, но когда я запускаю rsnapshot configtest, он говорит
'backup web3:backups/ web3/ - Source directory "web3:backups/ " doesn't exist'
Я использую следующую конфигурационную строку:
backup web3:backups/ web3/
Он использует псевдоним в файле hosts. Однако я также пробовал использовать IP-адрес и определять имя пользователя в команде, но ни один из них не работает (та же ошибка). Я также проверил, включен ли cmd_ssh и указывает на действительный файл.
Кто-нибудь знает, что может быть причиной этого? На данный момент это становится довольно неприятно, так как мне удалось заставить работать большинство систем резервного копирования, и я уверен, что у меня это тоже работало раньше. Я пробовал использовать ssh и rsync, и оба, похоже, рассматривают резервные копии web3: как допустимое сетевое расположение.
Было бы хорошо сначала протестировать синтаксис конфигурации.
rsnapshot -c /usr/local/etc/rsnapshot.conf configtest
В моем случае проблема «Исходный каталог ... не существует» была решена удалением конечных пробелов.
Хотя в документации для rsync говорится, что он принимает аргумент host: path и использует rsh, я не смог найти доказательств в коде для этой поддержки.
Перед выдачей сообщения, которое вы видите, он выполняет ряд тестов для аргумента источника:
Перефразируя:
if ( is_real_local_abs_path($src) )
elsif ( is_ssh_path($src) )
elsif ( is_anon_rsync_path($src) )
elsif ( is_cwrsync_path($src) )
elsif ( is_linux_lvm_path($src) )
else print "Source directory $src doesn't exist"
Ни один из этих шаблонов не является вашим host: path
Если можете, используйте ssh или демон rsync в web3.
Для тех, кто получает эту ошибку в локальной файловой системе, обязательно следуйте символическим ссылкам полностью, когда подтверждаете, что каталог действительно существует. Например, я получал эту ошибку для / mydir, которая указывала на / data / mydir, который существовал ... но на самом деле был нечитаемым пользователем root, потому что encfs скрывает смонтированные пользователем каталоги даже из root, без -o allow_others
вариант.
Помимо полных путей в локальной файловой системе, вы также можете создавать резервные копии удаленных систем с помощью rsync поверх ssh. Если у вас установлен и включен ssh (с помощью параметра cmd_ssh), вы можете указать путь, например:
резервная копия root@example.com: / etc / example.com/
Вам нужно добавить пульт username@
в строку, поэтому, если вы входите в систему как root, ваш файл конфигурации должен быть:
backup root@web3:backups/ web3/
Возможно, вам также потребуется использовать абсолютный путь (например, /root/backups/
вместо просто backups/
)
Я столкнулся с той же ошибкой, но оказалось, что она связана с лишним пустым пространством.
У меня был разрыв строки между первым оператором резервного копирования и вторым. Кроме того, в объявлении резервной копии присутствовал пробел, а не просто вкладки.
В моем случае две проблемы:
~/.ssh/config
remoteuser@example.com:public_html
. видя, как ты пытался web3:backups/
, возможно, у вас была такая же проблема