#!/bin/sh set -eu [ "${1:-}" = -q ] && exec >/dev/null VAR=$HOME/.var/offlineimap LOCKFILE="$VAR/.cron.lock" trapfn() { rm -f "$LOCKFILE"; trap - 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15; } trap trapfn 1 2 3 4 5 6 7 8 10 11 12 13 14 15 if ! lockfile -0 -r0 -l 3600 "$LOCKFILE" 2>/dev/null; then echo "E: offlineimap is already running." >&2 exit 1 fi trap trapfn 0 if ! test -t 0; then echo Renicing because we are not run interactively… renice 20 -p $$ >/dev/null ionice -c3 -p $$ fi ret=0 /usr/bin/offlineimap "$@" || ret=$? trapfn exit $ret