Я использую rsync поверх ssh (cygwin) в течение некоторого времени с Windows 2003 Server для резервного копирования файлов в ящик Debian, к которому подключен жесткий диск USB.
Файлы синхронизируются непосредственно на жесткий диск USB, который монтируется как / media / backup в системе Debian.
Резервное копирование запускается из запланированной задачи в окне Windows, а stdout и stderr выводятся в файлы, которые отправляются мне по электронной почте после завершения резервного копирования.
Время от времени я вижу ошибки в файле stderr, например:
rsync: failed to set times on "/media/backup/[some file name] ": Read-only file system (30)
для каждого файла, который был изменен с момента последнего резервного копирования.
Когда я вижу эту ошибку, я отключаю диск и снова подключаюсь. Это решает проблему.
Может ли кто-нибудь объяснить мне, почему возникает эта ошибка? т.е. почему USB-накопитель должен быть доступен только для чтения раз в пару месяцев?
Файловая система становится доступной только для чтения в ответ на некоторую ошибку при взаимодействии с ней. Вы должны увидеть что-то в dmesg
и / или /var/log/messages
(или эквивалент) перед rsync
начинает жаловаться.
Какая файловая система находится на USB-накопителе? Если это NTFS, возможно, он не был полностью размонтирован. Таким образом, по умолчанию он обычно монтируется только для чтения, пока вы не выполните проверку диска или пока не будет снят флаг нечистого монтирования. (Не уверен, как на самом деле называется флаг).