[sisyphus] systemd: path-based activation
Eugene Prokopiev
enp на altlinux.org
Ср Сен 16 10:17:11 MSK 2015
Здравствуйте!
В процессе отладки altlinux-openresolv.* понял, что у меня вообще не
работает path-based activation либо я делаю что-то не так:
Вот простейший пример. Создаем файлы:
# cat file.path
[Unit]
Description=My path
RequiresMountsFor=/root
Before=paths.target shutdown.target
[Path]
PathChanged=/root/file.0
[Install]
WantedBy=multi-user.target
# cat file.service
[Unit]
Description=My service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'cat /root/file.0 > /root/file.1'
[Install]
WantedBy=multi-user.target
Перечитываем, запускаем, смотрим состояние:
[root на enp system]# systemctl daemon-reload
[root на enp system]# systemctl start file.path
[root на enp system]# systemctl status file.path
● file.path - My path
Loaded: loaded (/etc/systemd/system/file.path; disabled; vendor
preset: disabled)
Active: active (waiting) since Ср 2015-09-16 09:51:47 MSK; 4s ago
сен 16 09:51:47 enp.donpac.ru systemd[1]: Started My path.
[root на enp system]# systemctl status file.service
● file.service - My service
Loaded: loaded (/etc/systemd/system/file.service; disabled; vendor
preset: disabled)
Active: inactive (dead)
Теперь пишем в один файл и ожидаем увидеть результаты во втором:
# echo one > /root/file.0
# systemctl status file.service
● file.service - My service
Loaded: loaded (/etc/systemd/system/file.service; disabled; vendor
preset: disabled)
Active: active (exited) since Ср 2015-09-16 09:52:18 MSK; 9s ago
Process: 1426 ExecStart=/bin/sh -c cat /root/file.0 > /root/file.1
(code=exited, status=0/SUCCESS)
Main PID: 1426 (code=exited, status=0/SUCCESS)
сен 16 09:52:18 enp.donpac.ru systemd[1]: Starting My service...
сен 16 09:52:18 enp.donpac.ru systemd[1]: Started My service.
сен 16 09:52:18 enp.donpac.ru systemd[1]: Started My service.
сен 16 09:52:25 enp.donpac.ru systemd[1]: Started My service.
# cat /root/file.1
# echo two > /root/file.0
# systemctl status file.service
● file.service - My service
Loaded: loaded (/etc/systemd/system/file.service; disabled; vendor
preset: disabled)
Active: active (exited) since Ср 2015-09-16 09:52:18 MSK; 1min 54s ago
Process: 1426 ExecStart=/bin/sh -c cat /root/file.0 > /root/file.1
(code=exited, status=0/SUCCESS)
Main PID: 1426 (code=exited, status=0/SUCCESS)
сен 16 09:52:18 enp.donpac.ru systemd[1]: Starting My service...
сен 16 09:52:18 enp.donpac.ru systemd[1]: Started My service.
сен 16 09:52:18 enp.donpac.ru systemd[1]: Started My service.
сен 16 09:52:25 enp.donpac.ru systemd[1]: Started My service.
сен 16 09:54:11 enp.donpac.ru systemd[1]: Started My service.
# cat /root/file.1
#
Вручную разумеется все прекрасно:
# cat /root/file.0 > /root/file.1
# cat /root/file.1
two
#
Может я что-то делаю не так?
--
WBR,
Eugene Prokopiev
Подробная информация о списке рассылки Sisyphus