4

Возможно ли в Linux (в моем случае, в Ubuntu) настроить систему для запуска сценария bash непосредственно перед отключением USB-ключа?

У меня есть переносная персональная вики на Pendrive, и каждый раз, когда я отключаю ее от своей машины, я хочу, чтобы ее содержимое автоматически создавало резервные копии на Amazon S3.

Возможно ли что-нибудь подобное? Не имеет значения, запускается ли скрипт для каждой размонтировки, так как я легко могу определить в скрипте, является ли размонтируемое устройство тем, которое я хочу создать резервную копию.

Спасибо заранее за любые советы.

Богатые

4 ответа4

2

Я не думаю, что есть общий способ запуска скрипта перед размонтированием устройства.

Вы можете запустить скрипт резервного копирования после того, как устройство будет отключено, но это будет очень неудобно - вам придется перемонтировать устройство, выполнить резервное копирование, снова размонтировать устройство (без повторного запуска вашего сценария) и, наконец, принять меры для уведомления пользователя. что устройство может быть отключено.

Чтобы запустить скрипт перед размонтированием, вызовите свой собственный скрипт размонтирования вместо /bin/umount . Если вы хотите обрабатывать графические интерфейсы, которые вызывают /bin/umount , хотите вы этого или нет, вы можете перенаправить исполняемый файл umount и поставить свой скрипт на его место:

dpkg-divert --local --rename --divert /bin/umount.real /bin/umount
1

Возможно, вы можете использовать udev но вы можете захотеть, чтобы процесс, который вы запускаете, создавал копию локально и выходил, а затем выполнял отдельный процесс incron для загрузки в Amazon S3, поскольку у вас не должно быть долго запущенных процессов, запускаемых udev .

0

Посмотрите на inotify. Должна быть возможность поймать событие размонтирования с помощью дескриптора, используя собственный скрипт.

0

Лучший способ, о котором я могу думать, это то, что вы создаете сценарий, который сначала выполняет резервное копирование, а затем отключает диск. Просто используйте его каждый раз вместо чистого демонтажа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .