nutools/legacy/sysinc/crontab

37 lines
1021 B
Plaintext
Raw Normal View History

2013-08-27 15:14:44 +04:00
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@require sysinc/base
##@require sysinc/functions
function add_to_crontab() {
# Ajouter la ligne $1 au crontab de l'utilisateur $2
local -a crontab=(crontab ${2:+-u "$2"})
local current="$("${crontab[@]}" -l 2>/dev/null)"
local tmpfile
ac_set_tmpfile tmpfile
if [ -n "$current" ]; then
echo "$current" >"$tmpfile"
fi
if ! quietgrep -F "$1" "$tmpfile"; then
echo "$1" >>"$tmpfile"
"${crontab[@]}" "$tmpfile"
return 0
fi
return 1
}
function remove_from_crontab() {
# Supprimer la ligne $1 du crontab de l'utilisateur $2
local -a crontab=(crontab ${2:+-u "$2"})
local current="$("${crontab[@]}" -l 2>/dev/null)"
local tmpfile
ac_set_tmpfile tmpfile
if [ -n "$current" ]; then
echo "$current" >"$tmpfile"
fi
if quietgrep -F "$1" "$tmpfile"; then
grep -vF "$1" "$tmpfile" | "${crontab[@]}" -
return 0
fi
return 1
}