여러 사용자 systemd.timer를 설정했습니다.
자동으로 시작되게 하려면 어떻게 해야 합니까? (시스템 시작 시 또는 사용자가 X 세션에 로그인한 후)
시스템을 재부팅한 후( systemctl --user enable
재부팅 전에 실행하더라도, 즉 도움이 되지 않음) 다음을 실행하지 않았습니다.
~$ systemctl --user enable {rsync_backup1,rsync_another_backup}.timer
~$ systemctl --user list-timers --all
0 timers listed.
여기서는 다음 명령을 사용하여 시작해야 합니다.
~$ systemctl --user start {rsync_backup1,rsync_another_backup}.timer
~$ systemctl --user list-timers --all
NEXT LEFT LAST PASSED UNIT
Sun 2016-07-31 13:26:45 CEST 1h 16min ago Sun 2016-07-31 14:43:32 CEST 2s ago rsync_backup1
Sun 2016-07-31 13:26:45 CEST 1h 16min ago Sun 2016-07-31 14:43:32 CEST 2s ago rsync_another_backup
2 timers listed.
~$
다음은 현재 타이머가 구성되는 방법의 예입니다.
$HOME/.config/systemd/user/rsync_backup1.service:
[Unit]
Description=rsync --delete /home/USER data to NASUSER@NAS
[Service]
Type=simple
ExecStart=/home/USER/scripts/rsync_backup1.sh
$HOME/.config/systemd/user/rsync_backup1.timer:
[Unit]
Description=Runs every 12 minutes rsync --delete /home/USER data to NASUSER@NAS
[Timer]
OnBootSec=12min
AccuracySec=10min
OnCalendar=*:0/12
Unit=rsync_backup1.service
[Install]
WantedBy=multi-user.target
PS 예, 타이머를 시작하는 명령을 창 관리자 "시작" 스크립트 .bashrc
에 넣을 수 있다는 것을 알고 있습니다. .xinit
내가 묻는 것은 시스템이 재부팅(/login)할 때마다 실행되도록 정의하는 "깨끗한" 방법이 있습니까?
답변1
첫 번째, 다른 사람들이 말했듯이, 대신에 이를 설치하는 WantedBy=default.target
것이 WantdBy=multi-user.target
사용자 단위를 활성화하는 표준 방법입니다.
부팅 시 시작되도록 하려면바라보다이 ArchWiki 항목은 부팅 시 시스템 사용자 단위를 시작하는 것에 관한 것입니다.로그인에 묶이는 것보다.
간단히 말해서:
# loginctl enable-linger username
Unit=rsync_backup1.service
(타이머와 서비스 파일의 기본 이름이 동일하므로 이는 중복됩니다 . )