Created
November 13, 2019 04:18
-
-
Save equwal/3af11e8d90bdf34ed7bb4192d5d067b4 to your computer and use it in GitHub Desktop.
Use a custom locate database location, in order to keep it encrypted.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
set -e | |
# check if we run on battery and if so then don't run | |
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 | |
# check if we are already running (lockfile) | |
LOCKFILE="/var/lock/mlocate.daily.lock" | |
if [ -e "${LOCKFILE}" ]; then | |
echo >&2 "Warning: \"${LOCKFILE}\" already present, not running updatedb." | |
exit 1 | |
fi | |
touch "${LOCKFILE}" | |
# trap the lockfile only if we really run the updatedb | |
trap "rm -f ${LOCKFILE}" EXIT | |
# source the user specified variables | |
if [ -f /etc/mlocate-cron.conf ]; then | |
. /etc/mlocate-cron.conf | |
fi | |
# check the config file | |
NODEVS="" | |
if [ ! -f /etc/updatedb.conf ]; then | |
NODEVS=$(awk '$1 == "nodev" && $2 != "rootfs" { print $2 }' /proc/filesystems) | |
fi | |
# alter the priority of the updatedb process | |
if [ -x /usr/bin/renice ]; then | |
/usr/bin/renice +${NICE:-19} -p $$ > /dev/null 2>&1 | |
fi | |
if [ -x /usr/bin/ionice ] && /usr/bin/ionice -c3 true 2>/dev/null; then | |
/usr/bin/ionice -c${IONICE_CLASS:-2} -n${IONICE_PRIORITY:-7} -p $$ > /dev/null 2>&1 | |
fi | |
# Cleanup old temp files from previous unsuccessful runs | |
rm -f /var/lib/mlocate/mlocate.db.* | |
# run the updatedb if possible | |
if [ -x /usr/bin/updatedb ]; then | |
/usr/bin/updatedb -f "${NODEVS}" -o /home/jose/.cache/updatedb | |
else | |
echo >&2 "Warning: \"/usr/bin/updatedb\" is not executable, unable to run updatedb." | |
exit 0 | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
use strict; | |
use warnings; | |
# Use along with a custom updatedb cronjob | |
system('locate-raw -d "/home/jose/.cache/updatedb" ' . @ARGV); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment