You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
Bash
73 lines
2.2 KiB
Bash
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
# cron script to update the `locatedb' database.
|
|
#
|
|
# Written by Ian A. Murdock <imurdock@debian.org> and
|
|
# Kevin Dalley <kevin@aimnet.com>
|
|
|
|
# Please consult updatedb(1) and /usr/share/doc/locate/README.Debian
|
|
|
|
[ -e /usr/bin/updatedb.findutils ] || exit 0
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "You must be root."
|
|
exit 1
|
|
fi
|
|
|
|
# Global options for invocations of find(1)
|
|
FINDOPTIONS='-ignore_readdir_race'
|
|
# filesystems which are pruned from updatedb database
|
|
PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf ocfs2"
|
|
# paths which are pruned from updatedb database
|
|
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media /var/lib/schroot/mount"
|
|
# netpaths which are added
|
|
NETPATHS=""
|
|
# run find as this user
|
|
LOCALUSER="nobody"
|
|
# cron.daily/find: run at this priority -- higher number means lower priority
|
|
# (this is relative to the default which cron sets, which is usually +5)
|
|
NICE=10
|
|
|
|
# I/O priority
|
|
# 1 for real time, 2 for best-effort, 3 for idle ("3" only allowed for root)
|
|
IONICE_CLASS=3
|
|
# 0-7 (only valid for IONICE_CLASS 1 and 2), 0=highest, 7=lowest
|
|
IONICE_PRIORITY=7
|
|
|
|
# allow keeping local customizations in a separate file
|
|
if [ -r /etc/updatedb.findutils.cron.local ] ; then
|
|
. /etc/updatedb.findutils.cron.local
|
|
fi
|
|
export FINDOPTIONS PRUNEFS PRUNEPATHS NETPATHS LOCALUSER
|
|
|
|
# Set the task to run with desired I/O priority if possible
|
|
# Linux supports io scheduling priorities and classes since
|
|
# 2.6.13 with the CFQ io scheduler
|
|
if [ -x /usr/bin/ionice ] && [ "${UPDATDB_NO_IONICE}" = "" ]; then
|
|
# don't run ionice if kernel version < 2.6.13
|
|
KVER=$(uname -r)
|
|
case "$KVER" in
|
|
2.[012345]*) ;;
|
|
2.6.[0-9]) ;;
|
|
2.6.[0-9].*) ;;
|
|
2.6.1[012]*) ;;
|
|
*)
|
|
# Avoid providing "-n" when IONICE_CLASS isn't 1 or 2
|
|
case "$IONICE_CLASS" in
|
|
1|2) priority="-n ${IONICE_PRIORITY:-7}" ;;
|
|
*) priority="" ;;
|
|
esac
|
|
ionice -c $IONICE_CLASS $priority -p $$ > /dev/null 2>&1 || true
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if getent passwd $LOCALUSER > /dev/null ; then
|
|
cd / && nice -n ${NICE:-10} updatedb.findutils 2>/dev/null
|
|
else
|
|
echo "User $LOCALUSER does not exist."
|
|
exit 1
|
|
fi
|