LINUX.ORG.RU
ФорумAdmin

Бред с таймерами в systemd

 


0

1

Здравствуйте. Есть один таймер

[Timer]
OnCalendar=02:10

[Install]
WantedBy=timers.target

Все работает. Но если в WantedBy вместо timers.target прописать multi-user.target, то таймер работать не будет. Он не будет появляться в ни в systemctl --user ни в systemctl --user list-timers --all

Почему так? multi-user.target ведь тоже активен после загрузки ОС

В арче работало с multi-user. А тут (Kubuntu 17.10) не работает. Как это можно понимать? )

★★★★★

Последнее исправление: makoven (всего исправлений: 1)

Так у тебя --user или нет? В systemd --user никакой multi-user.target нет, там из таргетов есть только basic.target и default.target.

anonymous
()
Ответ на: комментарий от anonymous

Ой, точно. Спасибо. Вечно забываю дописать --user

$ systemctl --user list-units --type target
UNIT           LOAD   ACTIVE SUB    DESCRIPTION                                                                                
basic.target   loaded active active Basic System                                                                               
default.target loaded active active Default                                                                                    
paths.target   loaded active active Paths                                                                                      
sockets.target loaded active active Sockets                                                                                    
timers.target  loaded active active Timers
makoven ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Я забыл дописать --user в команде с systemctl list-units :)

Тяжко с этими таймерами. Настроил 4 borg-бэкапа. Вышло 8 юнитов (таймеры и сервисы) с почти одинаковым содержимым. Легко запутаться. Хорошо бы иметь какой-нибудь генератор юнитов для таймеров. Что-то вроде fstab, но не cron, с его ограничениями

makoven ★★★★★
() автор топика
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Думаю, тут нужна какая-нибудь более высокоуровневая обёртка.

borg

О! Я как раз пишу бэкап-менеджер с упором на systemd, btrfs и borg :) Давай сюда свой юзкейс, как у тебя устроены бэкапы и вот это всё — посмотрю, вписывается ли это в архитектуру.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Кинь ссылкой как напишешь)

А какую роль играет btrfs?

У меня бекап-сервер монтирует вин-машины через cifs. А сервис-юнит состоит из одной опции:

[Service]
ExecStart=/usr/bin/borg create --compression lzma,9 /share/backups/1s_buh/::{now} /mnt/server_tommy/1sbases/buh/1Cv8.1CD
makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Если использовать подстановки и/или файлы с переменными?

В таймере же можно указать сервис в параметрах.

Radjah ★★★★★
()
Ответ на: комментарий от makoven

А какую роль играет btrfs?

Такую же, как fsfreeze при LVM-снапшотах. Чтобы что-то бэкапить borg'ом, крайне желательно сначала сделать «неподвижный» образ, т. е. снапшот.

Ещё есть идея отправлять на сервер дельта-снимок (btrfs send), а уже на сервере его монтировать и диффать borg'ом, но это я не представляю пока, как красиво закодить и представить в конфиге.

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

У меня бекап-сервер монтирует вин-машины через cifs.

И да, у меня push-модель. Про pull-модель как раз не думал ещё, спасибо :)

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от makoven

Хорошо бы иметь какой-нибудь генератор юнитов для таймеров. Что-то вроде fstab, но не cron, с его ограничениями

Внезапно systemd-cron.

anonymous
()
Ответ на: комментарий от deadNightTiger

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

makoven ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Чтобы что-то бэкапить borg'ом, крайне желательно сначала сделать «неподвижный» образ, т. е. снапшот

Думаешь может испортить данные? У меня монтируется с ro )

у меня push-модель

Имеется в виду, на каждой машине стоит borg, и они по ssh заливают на бэкап-сервер? У меня подобное было до borg (с rsync). Намучался с ssh на винде :)

makoven ★★★★★
() автор топика
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Думаешь может испортить данные? У меня монтируется с ro )

...вот только хост не знает о том, что ты с ro монтируешь. Нет, borg испортить ничего не может, просто в процессе бэкапа какие-нибудь файлы могут естественным образом поменяться. Снимок получится в лучшем случае внутренне неконсистентным, а в худшем случае кто-нибудь откроет файл на запись прямо в тот момент, пока borg его читает и диффает.

Имеется в виду, на каждой машине стоит borg, и они по ssh заливают на бэкап-сервер? У меня подобное было до borg (с rsync). Намучался с ssh на винде :)

Да. В моей концепции винда может пушить на сервер в staging area своими средствами, а дальше всё как описано выше. Но над pull я тоже подумаю теперь.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от Radjah

В подстановки много не напишешь. А если напишешь - потом замучаешься набирать systemctl status )

makoven ★★★★★
() автор топика
Ответ на: комментарий от intelfx

просто в процессе бэкапа какие-нибудь файлы могут поменяться

Аа. Понял зачем btrfs. Чтобы бэкапить не не останавливая клиентов. Круто

makoven ★★★★★
() автор топика
Ответ на: комментарий от intelfx

С btrfs как-то страшновато. Не раз бывало, что ext4 сбоила и e2fsck выручала. Вопрос, насколько хорош btrfsck..

makoven ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.