На Linux, там rc.local эквивалент для завершения работы?

Необходимо использовать цикл. Это не повредилось бы tar синтаксис командной строки, чтобы позволить нескольким -f опции, но это потребовало бы, чтобы добавляющий код обработал несколько архивов в последовательности со всеми видами граничных условий (Что происходит, если архив в середине уродлив? Архивы могут использовать различные механизмы сжатия? У Вас могут быть несколько -C опции (опция tar GNU извлечь к конкретному каталогу), также? Что относительно-K (опция tar GNU запуститься в определенном имени элемента)? …).

Одна возможность, избегающая a for цикл должен установить и активировать AVFS, файловая система FUSE, которая обеспечивает прозрачный доступ к архивам. Каждый архив /path/to/archive удваивается как каталог ~/.avfs/path/to/archive#. Если Вы хотите соответствовать архивам подстановочным знакам, существует препятствие добавления этого # к подстановочному соответствию; это может быть сделано в zsh.

mountavfs
cp -p ~/.avfs$PWD/{a,b}.tgz\#/* /destination
cp -p ~/.avfs/path/to/source/*.tgz(e\''REPLY=$REPLY\#'\')/* /destination

10
28.04.2013, 22:45
5 ответов

Едва ли (по крайней мере, к моему знанию).

Если Вы сделали, чтобы SystemV разработал init сценарии, Вы могли бы создать что-то вроде /etc/rc6.K00scriptname и /etc/rc0.d/K00scriptname, который должен быть выполнен до любого из других сценариев там.

8
27.01.2020, 20:01

ArchLinux действительно имеет a /etc/rc.local.shutdown файл для этого. Я не уверен в других дистрибутивах

4
27.01.2020, 20:01

Это обычно возможно, но зависит от системы init-сценариев, которую Вы имеете. Если бы Ваше распределение использовало последнюю версию OpenRC (как хинду делает), Вы могли бы вставить любые сценарии /etc/local.d/, назовите их <something>.stop и они были бы выполнены при завершении работы системы. Для более старых версий необходимо было бы вставить команды local_stop() функция в /etc/conf.d/local.

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

2
27.01.2020, 20:01

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

1
27.01.2020, 20:01

В хинду "локальный" сценарий делает точно, что Вы просите: Это работает, определенный пользователь указал команды на 'запуск' и другой набор команд на 'остановку'.

1
27.01.2020, 20:01

Теги

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