diff options
author | NeilBrown <neilb@suse.com> | 2018-12-05 06:35:00 +0100 |
---|---|---|
committer | Jes Sorensen <jsorensen@fb.com> | 2018-12-06 13:44:18 +0100 |
commit | 4199d3c629c14866505923d19fa50017ee92d2e1 (patch) | |
tree | e552776a92a353291ec99e576ce7fb5e955e3b5a /systemd | |
parent | policy: support devices with multiple paths. (diff) | |
download | mdadm-4199d3c629c14866505923d19fa50017ee92d2e1.tar.xz mdadm-4199d3c629c14866505923d19fa50017ee92d2e1.zip |
mdcheck: add systemd unit files to run mdcheck.
Having the mdcheck script is not use if is never run.
This patch adds systemd unit files so that it can easily
be run on the first Sunday of each month for 6 hours,
then on every subsequent morning until the check is
finished.
The units still need to be enabled with
systemctl enable mdcheck_start.timer
The timer will only actually be started when an array
which might need it becomes active.
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Diffstat (limited to 'systemd')
-rw-r--r-- | systemd/mdcheck_continue.service | 18 | ||||
-rw-r--r-- | systemd/mdcheck_continue.timer | 13 | ||||
-rw-r--r-- | systemd/mdcheck_start.service | 17 | ||||
-rw-r--r-- | systemd/mdcheck_start.timer | 15 |
4 files changed, 63 insertions, 0 deletions
diff --git a/systemd/mdcheck_continue.service b/systemd/mdcheck_continue.service new file mode 100644 index 00000000..592c6079 --- /dev/null +++ b/systemd/mdcheck_continue.service @@ -0,0 +1,18 @@ +# This file is part of mdadm. +# +# mdadm is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=MD array scrubbing - continuation +ConditionPathExistsGlob = /var/lib/mdcheck/MD_UUID_* + +[Service] +Type=oneshot +Environment= MDADM_CHECK_DURATION='"6 hours"' +EnvironmentFile=-/run/sysconfig/mdadm +ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh +ExecStart=/usr/share/mdadm/mdcheck --continue --duration $MDADM_CHECK_DURATION + diff --git a/systemd/mdcheck_continue.timer b/systemd/mdcheck_continue.timer new file mode 100644 index 00000000..3ccfd785 --- /dev/null +++ b/systemd/mdcheck_continue.timer @@ -0,0 +1,13 @@ +# This file is part of mdadm. +# +# mdadm is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=MD array scrubbing - continuation + +[Timer] +OnCalendar= 1:05:00 + diff --git a/systemd/mdcheck_start.service b/systemd/mdcheck_start.service new file mode 100644 index 00000000..812141bb --- /dev/null +++ b/systemd/mdcheck_start.service @@ -0,0 +1,17 @@ +# This file is part of mdadm. +# +# mdadm is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=MD array scrubbing +Wants=mdcheck_continue.timer + +[Service] +Type=oneshot +Environment= MDADM_CHECK_DURATION='"6 hours"' +EnvironmentFile=-/run/sysconfig/mdadm +ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh +ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION diff --git a/systemd/mdcheck_start.timer b/systemd/mdcheck_start.timer new file mode 100644 index 00000000..64807362 --- /dev/null +++ b/systemd/mdcheck_start.timer @@ -0,0 +1,15 @@ +# This file is part of mdadm. +# +# mdadm is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=MD array scrubbing + +[Timer] +OnCalendar=Sun *-*-1..7 1:00:00 + +[Install] +WantedBy= mdmonitor.service |