Некоторое время я использовал rsync / ssh для резервного копирования содержимого моего общего хоста на мой личный Synology NAS (212j, если на то пошло), и он работал довольно хорошо. Для информации я использую пароль без пароля ssh
подключение.
3 дня назад я обновил программное обеспечение своего NAS, и с тех пор (или, по крайней мере, я так считаю) резервное копирование больше не будет работать. Я получаю следующую ошибку на хосте:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
.. чего я не понимаю. кроме этого ничего не изменилось, что я знаю как в источнике, так и в пункте назначения, что может быть связано с rsync
или ssh
, Я кое-что проверил, и вроде все в порядке:
ssh
с хоста на мой NAS с хорошим пользователем, поэтому такие вещи, как ключи ssh, не изменились. rsync
через ssh
).Я тут и там читал, что ошибка означает, что я должен убедиться, что мой rsyncd.conf
иметь право read only = no
в нем, но, насколько мне известно, никогда не использовал rsyncd
также как я никогда ничего для него не настраивал и до сих пор он работал как шарм ..
Я использую следующую команду для резервного копирования:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Так что я застрял и действительно не могу понять, что случилось.
Редактировать:
Как было предложено в комментариях, я также попытался передать команды ssh (но не изнутри сеанса ssh), который работал, как ожидалось, а также попробовал одну команду rsync, которая не сработала, так же как и команда полного резервного копирования.
(sharedHost):hostuser:~ > touch test.txt
(sharedHost):hostuser:~ > rsync test.txt remote_backup:backups/test.txt
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
и
(sharedHost):hostuser:~ > ssh remote_backup 'touch /abs_path_to_backups/backups/test2.txt && echo "ProoF" > /abs_path_to_backups/backups/test2.txt'
(sharedHost):hostuser:~ > ssh remote_backup 'cat /abs_path_to_backups/backups/test2.txt'
ProoF
У меня возникла такая же проблема после обновления Synology NAS до DSM 4.1. Я также использую rsync по SSH. В моей ситуации использование rsync user root @ ip также работало, но файлы оставались на сервере с root-правами, которые мне не нужны.
Я обнаружил в пользовательском интерфейсе администратора NAS, что по какой-то причине в ControlPanel-> Users-> MyRSyncUser-> Edit -> "Priviliges setup" не было доступа для чтения / записи в дома. Моя цель RSYNC - под домами.
У меня сработала установка этого параметра на Privilidge. Надеюсь, это поможет.
Я избавился от ОШИБКИ: модуль читается только путем изменения удаленного пути с / var / services / homes / rsync на / volume2 / homes / rsync
DSM 5.1
Я столкнулся с той же проблемой после обновления Synology ds1010 + до dsm 4.1-2661.
У меня нет времени разбираться в том, что случилось с rsync, предоставленным Synology, но это не кажется стандартным. Итак, вот мой обходной путь ...
Я не хотел взламывать привилегии (многопользовательская настройка), поэтому я перекомпилировал rsync в статике на своем ноутбуке, а затем перенес двоичный файл на sinology nas.
wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
export CFLAGS=--static
./configure
make
scp rsync <login>@<nas_hostname>:
Вы можете указать rsync использовать ваш новый двоичный файл вместо стандартного с помощью этого параметра:
--rsync-path=<myhome>/rsync
Теперь я могу продолжить использование дублированности с помощью rsync, добавив к дублированию следующий параметр:
--rsync-options="--rsync-path=<myhome>/rsync"
У меня была такая же проблема, но я не использовал специального пользователя для rsync.
Пришлось поправить права в Панели управления -> Общие папки.
У меня была аналогичная проблема при подключении к Synology 211j через SSH Putty. Мне пришлось включить
«Панель управления -> Сетевое резервное копирование -> Включить услугу сетевого резервного копирования».
Сейчас он работает.
Я заставил его работать, войдя в систему как root вместо администратора или обычного пользователя.