ユーザーsystemd.timerを自動的に起動するには?

ユーザーsystemd.timerを自動的に起動するには?

複数のユーザー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(タイマーとサービスファイルのデフォルト名が同じであるため、これは重複します。)

おすすめ記事