Snapperは最近1時間ごとに繰り返しスナップショットを撮り始めました。

Snapperは最近1時間ごとに繰り返しスナップショットを撮り始めました。

Snapperは過去2年間に時間ごとのスナップショット(定時)を完全に実行してきました。前回気づいた二つスナップショットは毎時間撮影されます。 1時間に1回(HH:00)、もう1回は1分後(HH:01)

Snapperログファイルには、両方の重複スナップショットのlibsnapperの同じプロセスIDが表示されます。 1時間ごとに新しいプロセスIDが作成されますが、ログによれば同じプロセスIDで繰り返しスナップショットが実行されます。ログでは、すべてが正常に見えます。私が知っている限り、これは2回だけ繰り返されました。

snapper list-configs重複した構成はありません。

私はいつもsystemdタイマーを有効にしてsnapper-timeline.timerを起動しました(これは次のものに基づいています)。Arch's Snapper Wiki ページ)。

ルートクローンはありません。

# crontab -l
no crontab for root

私が知っている限り、ユーザーのcron:/var/spool/cron/は空ではありません。

これは本当に奇妙なことです。停止して無効にすると、snapper-timeline.timerその時点で作成されたスナップショットは停止しますが、その時間の1分後に作成されたスナップショットは続行されます。再起動後も同様です。

上記の手順を実行した後、systemctlはsnapper-timeline.timerエントリを一覧表示しません。

$ systemctl --user list-timers
0 timers listed.
$ sudo systemctl list-timers
NEXT                         LEFT          LAST                         PASSED        UNIT                         ACTIVATES
Wed 2018-02-21 00:00:00 EST  1h 40min left Tue 2018-02-20 00:00:00 EST  22h ago       logrotate.timer              logrotate.service
Wed 2018-02-21 00:00:00 EST  1h 40min left Tue 2018-02-20 00:00:00 EST  22h ago       man-db.timer                 man-db.service
Wed 2018-02-21 00:00:00 EST  1h 40min left Tue 2018-02-20 00:00:00 EST  22h ago       shadow.timer                 shadow.service
Wed 2018-02-21 03:54:50 EST  5h 35min left Tue 2018-02-20 03:54:49 EST  18h ago       snapper-cleanup.timer        snapper-cleanup.service
Wed 2018-02-21 03:59:50 EST  5h 40min left Tue 2018-02-20 03:59:49 EST  18h ago       systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2018-02-26 00:00:00 EST  5 days left   Mon 2018-02-19 00:00:23 EST  1 day 22h ago fstrim.timer                 fstrim.service

修正する:

私たちが知る限り、アーチウィキスナッパーページ、「自動タイムラインスナップショット」の下:

cronデーモンがある場合、この機能は[時間ごとの自動スナップショット]を自動的に開始します。

上で述べたように、crontab -lrootとユーザーとして確認しましたが、どちらも空です。

しかし、私の場合はcronieをインストールしました(cronieはcronデーモンです)。ビューには/etc/cron.daily/スナッパファイルが表示され、ス/etc/cron.hourly/ナッパファイルも含まれています。

残りの質問は次のとおりです。

  1. どのユーザーのcrontabにSnapper cronjobが表示されますか?

  2. Snapperのcronjobを無効にしてパッケージアップデート全体にわたって持続させる方法はありますか(システムタイマーをアクティブにしている間)。/etc/cron.daily/etc/cron.hourly/`からアイテムを削除すると、Snapperパッケージが更新されたときにそのアイテムが置き換えられると想定されます。 [更新2:この仮説を確認するテストを行いました。コメントを読んでください。 ]

答え1

この回答のクレジットは@jasonwryanにあります。

私たちが知る限り、アーチウィキスナッパーページ、「自動タイムラインスナップショット」の下:

cronデーモンがある場合、この機能は[時間ごとの自動スナップショット]を自動的に開始します。

crontab -lrootとユーザーで確認しましたが、どちらも空です。

しかし、私の場合はcronieをインストールしました(cronieはcronデーモンです)。パッケージをインストールすると、Snapperタイムラインクリーンアップスクリプトはに/etc/cron.daily/、時間ごとのスナップショットスクリプトはに配置されます/etc/cron.hourly/。 (Snapperシステムデバイスが有効になっている場合でもこれが行われます。)

systemdタイマーを使用することを好むが、奇妙な操作のためにcronデーモンを維持する場合、Snapperはcronデーモンを好む。

私が行ったようにcronデーモンをインストールする必要がありますが、systemdを使用してSnapperタイマーを管理したい場合は、解決策(@jasonwryanのおかげで)は次のようになります。

  1. /etc/pacman.conf 編集`

  2. NoExtractディレクティブにコメントが付いている場合は、コメントを外してください。

  3. Snapperパッケージの次の2つのファイルをNoExtractディレクティブに追加します。

    等/cron.daily/snapper等/cron.hourly/snapper

複数のファイルを追加する構文については、ここで説明します。

pacman.conf 複数行ファイルリストの NoExtract 構文/Pacman およびパッケージアップグレードの問題/Arch Linux フォーラム

/etc/pacman.confの結果行の例:

NoExtract = etc/cron.daily/snapper etc/cron.hourly/snapper

このソリューションは私の友人には効果的ですが、他のcronデーモンを使用している場合はパスが異なる場合があります。

関連情報