texlive-filesystem/texlive.cron

48 lines
1.7 KiB
Bash

#!/bin/bash
#
# Remove pk files older than 20 days
# Remove tfm files older than 60 days
# Remove source files older than 60 days
# Remove crap
# Call texhash
#
type -f -p kpsewhich >& /dev/null || exit 0
type -f -p mktexlsr >& /dev/null || exit 0
type -f -p find >& /dev/null || exit 0
type -f -p xargs >& /dev/null || exit 0
type -f -p setpriv >& /dev/null || exit 0
type -f -p rm >& /dev/null || exit 0
test -r /etc/sysconfig/texlive && . /etc/sysconfig/texlive
OLDIFS=$IFS; IFS=':;'
VARTEXFONTS="$(kpsewhich --expand-var '$VARTEXFONTS' 2> /dev/null)"
IFS=$OLDIFS
if test "$CLEAR_TEXMF_FONTS" = "yes" -a -n "$VARTEXFONTS" ; then
for p in $VARTEXFONTS ; do
test -d $p/pk/ && find $p/pk/ \( -type f -and -atime +20 \) -print0
test -d $p/tfm/ && find $p/tfm/ \( -type f -and -atime +60 \) -print0
test -d $p/source/ && find $p/source/ \( -type f -and -atime +60 \) -print0
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid nobody --regid mktex --init-groups rm -f)
fi
if test -n "$VARTEXFONTS" ; then
for p in $VARTEXFONTS ; do
test -d $p/pk/ && find $p/pk/ \( -type f -and -not -name '*.*pk' \) -print0
test -d $p/tfm/ && find $p/tfm/ \( -type f -and -not -name '*.tfm' \) -print0
test -d $p/source/ && find $p/source/ \( -type f -and -not -name '*.mf' \) -print0
test -d $p/ && find $p/ \( -type f -and -path '*/[^[:alnum:]]*' \) -print0
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid nobody --regid mktex --init-groups rm -f)
for p in $VARTEXFONTS ; do
test -d $p/ && find $p/ -depth -type d -and -path '*/[^[:alnum:]]*'
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid nobody --regid mktex --init-groups rm -fr)
fi
#
# Update the ls-R's
#
mktexlsr > /dev/null
#
exit 0