Files
gentoo/app-admin/tmpwatch/files/tmpwatch.cron
Kerin Millar b32a477eba app-admin/tmpwatch: address bug 524698 (bashism)
Remove the use of the [[ keyword in favour of the POSIX test command
(SC3010).

Don't hard-code pathnames to external programs and define silly
variables such as TMPWATCH. Instead, define a sane PATH at the beginning
of the script.

Don't force the user to reason with whether certain variables need to be
set or not. Instead, call out to portageq in the samples. Further, check
the exit status of portageq, rather than blindly assume that it always
succeeds. As a result, there are no more hard-coded paths, other than
/tmp.

Use pgrep in a less sloppy way.

Query PORT_LOGDIR if the query for PORTAGE_LOGDIR fails.

Closes: https://bugs.gentoo.org/524698
Signed-off-by: Kerin Millar <kfm@plushkava.net>
Signed-off-by: Sam James <sam@gentoo.org>
2021-08-20 03:26:17 +01:00

46 lines
1.4 KiB
Bash

#!/bin/sh
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
# This cron script contains several (commented out) examples. You may use
# them as is, by uncommenting them, or modify them to suit your needs. Read
# tmpwatch(8) for more information on tmpwatch parameters.
### EXAMPLES ###
# NOTE: if you have noatime in /etc/fstab for any partitions you plan on
# running tmpwatch on, you should obviously change any of the examples that
# use atime (-u|--atime). Those that don't specify anything, default to
# atime. Be aware that the time value is in HOURS!
# Delete everything in /tmp that haven't been accessed in a week (>=168 hrs).
#
# if [ -d /tmp ]; then
# tmpwatch --atime 168 /tmp
# fi
# Delete everything in PORTAGE_TMPDIR that hasn't been modified in 2 weeks.
#
# if PORTAGE_TMPDIR=$(portageq envvar PORTAGE_TMPDIR) &&
# [ -d "${PORTAGE_TMPDIR}/portage" ] &&
# ! pgrep -x emerge >/dev/null
# then
# tmpwatch --mtime --all 336 "${PORTAGE_TMPDIR}/portage"
# fi
# Delete everything in DISTDIR that hasn't been accessed in 6 months (going
# by 30 day months).
#
# if DISTDIR=$(portageq distdir) && [ -d "${DISTDIR}" ]; then
# tmpwatch --atime --fuser 4320 "${DISTDIR}"
# fi
# Delete everything in PORTAGE_LOGDIR that hasn't been accessed in 4 weeks.
#
# if { PORTAGE_LOGDIR=$(portageq envvar PORTAGE_LOGDIR) ||
# PORTAGE_LOGDIR=$(portageq envvar PORT_LOGDIR); } &&
# [ -d "${PORTAGE_LOGDIR}" ]
# then
# tmpwatch --atime 772 "${PORTAGE_LOGDIR}"
# fi