37 lines
		
	
	
		
			1021 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1021 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # -*- 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
 | |
| }
 |