Носитель 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, например, также будет интерпретироваться как сбой.

Другие вопросы по тегам