50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
#!/bin/sh
|
|
#
|
|
# man-db cron daily
|
|
|
|
set -e
|
|
|
|
if [ -d /run/systemd/system ]; then
|
|
# Skip in favour of systemd timer.
|
|
exit 0
|
|
fi
|
|
|
|
# This should be set by cron, but apparently isn't always; see
|
|
# https://bugs.debian.org/209185. Add fallbacks so that start-stop-daemon
|
|
# can be found.
|
|
export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin"
|
|
|
|
iosched_idle=
|
|
# Don't try to change I/O priority in a vserver or OpenVZ.
|
|
if ! grep -Eq '(envID|VxID):.*[1-9]' /proc/self/status && \
|
|
{ [ ! -d /proc/vz ] || [ -d /proc/bc ]; }; then
|
|
iosched_idle='--iosched idle'
|
|
fi
|
|
|
|
if ! [ -d /var/cache/man ]; then
|
|
# Recover from deletion, per FHS.
|
|
install -d -o man -g man -m 0755 /var/cache/man
|
|
fi
|
|
|
|
# expunge old catman pages which have not been read in a week
|
|
if [ -d /var/cache/man ]; then
|
|
cd /
|
|
# shellcheck disable=SC2086
|
|
start-stop-daemon --start --pidfile /dev/null --startas /bin/sh \
|
|
--oknodo --chuid man $iosched_idle -- -c \
|
|
"find /var/cache/man -type f -name '*.gz' -atime +6 -print0 | \
|
|
xargs -r0 rm -f"
|
|
fi
|
|
|
|
# regenerate man database
|
|
if [ -x /usr/bin/mandb ]; then
|
|
# --pidfile /dev/null so it always starts; mandb isn't really a daemon,
|
|
# but we want to start it like one.
|
|
# shellcheck disable=SC2086
|
|
start-stop-daemon --start --pidfile /dev/null \
|
|
--startas /usr/bin/mandb --oknodo --chuid man \
|
|
$iosched_idle \
|
|
-- --no-purge --quiet
|
|
fi
|
|
|
|
exit 0
|