Носитель Rsync не смонтирован
У меня есть небольшой Raspberry Pi, который я использую в качестве NAS, монтирую с помощью fstab и выполняю резервное копирование на свой рабочий стол с помощью rsync.
Но иногда Raspberry Pi не монтируется, и rsync удаляет всю папку резервного копирования.
Есть ли способ сказать rsync (или grsync) не запускать резервное копирование, если малина не смонтирована?
1 ответ
Смонтированные файловые системы должны быть видны команде, и вы можете использовать это для проверки существования монтирования перед запуском rsync:
mount | awk '{if ($3 == "/path/to/mount") { exit 0}} ENDFILE {exit -1}' && rsync ...
mount
запускает команду mount, которая отображает все смонтированные файловые системы. Затем этот вывод передается по конвейеру (
|
) сквозь
awk
который ищет третий (
$3
) аргумент должен быть равен пути, который вы ищете (
/path/to/mount
в этом примере). Если путь совпадает, команда возвращает успех (
exit 0
), иначе он выйдет с ошибкой (
exit -1
).
&&
потребует, чтобы команда монтирования успешно завершилась перед выполнением следующей части. Любой другой код возврата считается ошибкой, поэтому
exit 10
, например, также будет интерпретироваться как сбой.