
Я создал небольшой скрипт backup_files.sh
и разместил его здесь /etc/init.d
:
#/bin/sh
logfile=/media/verbatim/log
date >> $logfile
rsync -av /home/philipp/Documents /media/verbatim/ >> $logfile
Я хотел бы, чтобы этот скрипт выполнялся при каждой перезагрузке или выключении компьютера, поэтому я сделал следующее:
sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/backup_files.sh
Более того, я сделал скрипт исполняемым:
sudo chmod +x /etc/init.d/backup_files.sh
Я попробовал скрипт "вручную", и он отлично сработал. Однако если я выключу или перезагружу компьютер, он, по-видимому, не будет выполнен.
Кто-нибудь видит, что я делаю не так?
Примечание: я использую Xubuntu 11.10.
решение1
Наконец, я обнаружил, что мне нужно дать им определенные имена файлов:
sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/K10backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/K10backup_files.sh
Скрипты в /etc/rc0.d и /etc/rc6.d выполняются во время выключения и перезагрузки соответственно. Скрипты, имена которых начинаются с заглавной буквы, k
выполняются с аргументом , stop
а те, имена которых начинаются с заглавной буквы, S
выполняются с аргументом start
. Более того, выполнение файлов происходит в лексикографическом порядке.
Файлы на этих уровнях запуска имеют следующие имена:
[K | S] + nn + [string]
nn -> строка из двух цифр
->долженбытьстрочные буквынить
Подробнее об уровнях запуска Linux можно узнать здесьздесь