Я деякий час використовував 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 речі, такі як ключі, не змінилися. - У мене також є правильні дозволи на файли в NAS (я перевірив, а також спробував створити файли, каталоги, .. з користувачем, який використовується
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