Я хочу запустить сценарий оболочки при выключении системы в Knoppix Live (который запускается с записываемого USB-накопителя), чтобы я мог сделать резервную копию некоторых данных и отправить их по ftp на удаленный сервер. Скрипт работает нормально, но я не уверен, куда его поместить, чтобы он запускался, когда система выключается.
Предложение 1
Вы можете добавить свой сценарий в /etc/init.d
а затем свяжите его с соответствующим уровнем запуска как K??my_backup
. Вам нужно будет выполнить сценарий, прежде чем сетевой интерфейс будет отключен. В моей системе Debian это выглядит как /etc/rc1.d
может быть правильным уровнем запуска для ссылки.
Меня беспокоит этот подход, если ваш сценарий требует много времени для выполнения. например, FTP-сайт работает медленно или недоступен. Я не уверен, будет ли процесс выключения ждать завершения вашего скрипта или ваш скрипт резервного копирования будет убит из-за того, что он занимает слишком много времени. Я оставлю это вам в качестве эксперимента! :-)
Предложение 2
Вы можете написать небольшой сценарий-оболочку для выключения вашей системы. Что-то вроде…
#!/bin/bash
/path/to/backup/script/backup_to_ftp
shutdown -h now
который вы затем можете выполнить, используя sudo
…
$ sudo /path/to/script/backup_then_shutdown
Вы можете сохранить файл как backup.sh в своем домашнем каталоге в области резервного копирования.
Вызовите сценарий из файла .bash_logout в вашем домашнем каталоге. Поэтому, когда машина выходит из строя, вы выходите из системы, скрипт запускается.