diff options
author | Theodore Ts'o <tytso@mit.edu> | 2019-07-11 19:41:56 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2019-07-11 19:41:56 -0400 |
commit | f63a7add6b8c46f3cde32c13645626723ae9180f (patch) | |
tree | c6fe9c6bf6ca2342b303665b6f6e881285355973 | |
parent | 15c23fed7b871ab39d9bb64607e71aef53aec6aa (diff) | |
download | e2fsprogs-f63a7add6b8c46f3cde32c13645626723ae9180f.tar.gz |
e2scrub_all: only run in service mode when periodic_e2scrub=1
By default, e2scrub_all will not actually trigger online scrubs unless
periodic_e2scrub=1 is set in /etc/e2scrub.conf.
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | scrub/e2scrub.conf.in | 4 | ||||
-rw-r--r-- | scrub/e2scrub_all.in | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/scrub/e2scrub.conf.in b/scrub/e2scrub.conf.in index 5c030877..661fc13f 100644 --- a/scrub/e2scrub.conf.in +++ b/scrub/e2scrub.conf.in @@ -1,5 +1,9 @@ # e2scrub configuration file +# Uncomment to enable automatic periodic runs of e2scrub_all +# (either via cron or via a systemd timer) +# periodic_e2scrub=1 + # e-mail destination used by e2scrub_fail when problems are found with # the file system. # recipient=root diff --git a/scrub/e2scrub_all.in b/scrub/e2scrub_all.in index f342faf2..5bdbd116 100644 --- a/scrub/e2scrub_all.in +++ b/scrub/e2scrub_all.in @@ -25,6 +25,7 @@ if (( $EUID != 0 )); then exit 1 fi +periodic_e2scrub=0 scrub_all=0 snap_size_mb=256 reap=0 @@ -79,6 +80,11 @@ while getopts "nrAV" opt; do done shift "$((OPTIND - 1))" +if [ -n "${SERVICE_MODE}" -a "${reap}" -ne 1 -a "${periodic_e2scrub}" -ne 1 ] +then + exitcode 0 +fi + # If some prerequisite packages are not installed, exit with a code # indicating success to avoid spamming the sysadmin with fail messages # when e2scrub_all is run out of cron or a systemd timer. |