Как выполнить команду, прежде чем машина автоматически закроется?

Как я могу выполнить команду, прежде чем машина автоматически закроется?

4
задан 17 August 2017 в 20:21

4 ответа

Как насчет вставить сценарий корректный runlevel? Я думаю, что runlevel 6 является завершением работы, и затем каталог для проигрывания в

/etc/rc6.d/
2
ответ дан 1 December 2019 в 09:06

cron не инструмент для этого. Необходимо настроить upstart задание, которое выполняется во время завершения работы, предпочтительно объявляя зависимость так, чтобы это работало перед любыми сервисами, это требует закрытия. man 5 init для получения дополнительной информации о том, как правильно определить задача завершения работы или запуск; я не могу помочь кроме того без большей информации, поскольку она зависит от того, что Вы пытаетесь сделать и что другой upstart задания это зависит от.

5
ответ дан 1 December 2019 в 09:06

Как упрощенная версия ответа funicorn.. новомодное задание, или в/etc/init/foo.conf или как ~/.init/foo.conf:

start on starting rc RUNLEVEL=6
task
exec myscript

Это будет работать и блокировать все завершение работы до "myscript" выходы.

Это - все, в чем Вы нуждаетесь. Обратите внимание, что пользовательские задания (~/.init/foo.conf) являются очень новой возможностью, и в моих 12,04 системах с ecryptfs / домой не работают, таким образом, Вам, вероятно, просто придется поместить задание в/etc/init.

1
ответ дан 1 December 2019 в 09:06

Попробуйте этого, заменив $HOME и $PROFILE с пресными значениями и сохраняют его к ~/.init с разрешением 644.

Прежде чем Вы сделаете что угодно, удостоверьтесь, что существует строка как

firefox /home/your_name/.mozilla/firefox/your_profile.default tmpfs size=128M,noauto,user,exec,uid=1000,gid=100 0 0

в /etc/fstab, где опция монтирования noauto препятствует тому, чтобы tmpfs был автосмонтирован, который мог быть изменен на auto к Вашему предпочтению. Я оставляю его там, чтобы хранить верность целой новомодной работе в целостности.

description     "automatic firefox profile ram caching"

start on started mountall
stop on stopping mountall
env HOME="/home/your_name"
env PROFILE="your_profile.default"

script
if test -z "$(mount | grep -F "${HOME}/.mozilla/firefox/${PROFILE}" )"
then
mount "${HOME}/.mozilla/firefox/${PROFILE}"
fi
end script


post-start script
cd "${HOME}/.mozilla/firefox"
if test -f packed.tar
then
    tar xpf packed.tar
    echo "$(date): firefox profile unpacked to ram" >> unpack.log
else
    tar xpf packed.tar.old
    echo "$(date): backup profile unpacked to ram" >> unpack.log
fi
touch "${PROFILE}/.unpacked"
end script 


pre-stop script
cd "${HOME}/.mozilla/firefox"
if test -f "${PROFILE}/.unpacked"
then
    tar --exclude '.unpacked' -cpf packed.tmp.tar "$PROFILE"
    mv packed.tar packed.tar.old
    mv packed.tmp.tar packed.tar
    rm "$PFORILE/.unpacked"
    echo "$(date) firefox profile packed from ram" >> pack.log
else
    echo ".unpacked is missing. pack current session data to newfile"
    tar -cpf packed-$(date +%Y%m%d%H%M).tar "$PROFILE"
fi
end script
1
ответ дан 1 December 2019 в 09:06

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

Похожие вопросы: