diff --git a/cron.daily/mlocate b/cron.daily/mlocate new file mode 100755 index 0000000..67f4e63 --- /dev/null +++ b/cron.daily/mlocate @@ -0,0 +1,36 @@ +#! /bin/bash + +set -e + +[ -x /usr/bin/updatedb.mlocate ] || exit 0 + +if which on_ac_power >/dev/null 2>&1; then + ON_BATTERY=0 + on_ac_power >/dev/null 2>&1 || ON_BATTERY=$? + if [ "$ON_BATTERY" -eq 1 ]; then + exit 0 + fi +fi + +## + +LOCKFILE="/var/lib/mlocate/daily.lock" + +trap "rm -f $LOCKFILE" EXIT + +if [ -e "$LOCKFILE" ]; then + echo >&2 "Warning: $LOCKFILE present, not running updatedb." + exit 1 +else + touch "$LOCKFILE" +fi + +## + +# See ionice(1) +if [ -x /usr/bin/ionice ] && + /usr/bin/ionice -c3 true 2>/dev/null; then + IONICE="/usr/bin/ionice -c3" +fi + +$IONICE /usr/bin/updatedb.mlocate