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@xxxxxxx> --- scrub/e2scrub.conf.in | 4 ++++ scrub/e2scrub_all.in | 6 ++++++ 2 files changed, 10 insertions(+) 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. -- 2.22.0