Я в настоящее время пишу автоматическую систему резервного копирования в Python, который это будет динамично синхронизировать к определенным каталогам на сервере в зависимости от того, что в настоящее время выполняют пользователь, машина и OS.
Я пытаюсь заставить следующую команду работать при создании пользователя, системы, OS и синхронизирующих каталогов, если они уже не существуют.
rsync -arvR --password-file=./rsyncdpw --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU user@server::backup/jim/desktop/Linux/sync/
Если каталоги не существуют, никакие каталоги не создаются и, сбои команды с:
отправка возрастающего списка файлов
rsync: mkdir "/jim/desktop/Linux/sync" (в резервном копировании) перестал работать: Никакой такой файл или каталог (2)
ошибка rsync: ошибка в файле IO (кодируют 11) в main.c (674) [Receiver=3.1.1]
Команда работает отлично, если каталоги уже существуют. Также я добрался - опция rsync-пути, хорошо работающая если не соединяющийся с демоном. Следующая команда правильно создает все каталоги и синхронизирует файлы как ожидалось.
rsync -rvR --rsync-path="mkdir -p /srv/backupdir/jim/desktop/Linux/sync/ && rsync" ./20160602BU jim@filesrv:/srv/backupdir/jim/desktop/Linux/sync/
Модуль резервного копирования в rsync.conf для демона указывает/srv/backupdir, поскольку это - каталог, таким образом, я попытался делать только/jim/desktop/Linux/sync для похвалы этому, и я также попробовал полный путь. Оба подхода перестали работать с тем же выводом.
Я боролся с ним в течение довольно многих дней промежуточное кодирование других частей системы. Я почти закончил систему, но я врезался в стену в этой части.
Спасибо за любую справку можно предложить.