créer le répertoire /var/uscrontab
This commit is contained in:
Jephté Clain 2014-04-23 12:17:36 +04:00
parent 1fe78fe78f
commit c3a5594b00
2 changed files with 42 additions and 11 deletions

View File

@ -71,3 +71,13 @@ etitle "Installation de /etc/init.d/kvm-stop-all" \
[ -n "$openvz_service" ] &&
etitle "Installation de /etc/init.d/openvz-fix-etchosts" \
"$scriptdir/../init.d/install-openvz-fix-etchosts"
etitle "Installation des répertoires pour uscrontab"
if mkdir -p /var/uscrontab/crontabs; then
chmod 1777 /var/uscrontab/crontabs
else
eerror "Impossible de créer le répertoire /var/uscrontab/crontabs"
fi
eend
exit 0

View File

@ -6,13 +6,22 @@ function display_help() {
uecho "$scriptname: lancer une suite de commande en respectant une planification de type cron
USAGE
$scriptname [options] /path/to/crontab
$scriptname -l [/path/to/crontab]
$scriptname [options] [/path/to/crontab]
$scriptname -e [/path/to/crontab]
$scriptname -l
La première forme du script doit normalement être lancé toutes les minutes par
une tâche cron. Utiliser l'option --install pour ajouter automatique la ligne
dans la crontab de l'utilisateur.
Si aucun fichier n'est spécifié, fusionner s'il existe le fichier
$USCRONTAB_DEFAULT_FILE
avec chacun des fichiers du répertoire
$USCRONTAB_DEFAULT_DIR
puis exécuter le fichier résultat avec le nom virtuel
$USCRONTAB_DEFAULT
note: le nom virtuel est utilisé pour le verrouillage avec --lock
A chaque lancement du script, il examine quels scripts doivent être exécutés
dans le fichier crontab spécifié. Ce fichier est composé de lignes dans un
format particulier, qui sont analysées et traitées dans l'ordre.
@ -157,17 +166,25 @@ Les lignes commençant par # sont des commentaires et sont ignorées
OPTIONS
-A, --install
Installer une planification toutes les minutes de ce script dans la
crontab de l'utilisateur. L'argument /path/to/crontab est requis.
Installer une planification toutes les minutes du script dans la crontab
de l'utilisateur. Si l'argument /path/to/crontab n'est pas spécifié,
c'est une planification générique qui exécute les fichiers par défaut.
-R, --uninstall
Désinstaller la planification toutes les minutes de ce script du crontab
de l'utilisateur. L'argument /path/to/crontab est requis, et seule cette
instance est désinstallée le cas échéant.
Désinstaller la planification toutes les minutes du script du crontab de
l'utilisateur. Si l'argument /path/to/crontab est spécifié, cette
instance est désinstallée. Sinon, ne désinstaller que la planification
générique.
-e, --edit
Lancer un editeur pour modifier la crontab spécifiée. Si aucun fichier
n'est spécifié, éditer $USCRONTAB_DEFAULT_FILE
-l, --list
Lister les contenus des fichiers crontab dont l'exécution a été
planifiée avec --install
Si /path/to/crontab est spécifié, ne lister le contenu de ce fichier que
si son exécution a été planifiée.
Si l'argument /path/to/crontab est spécifié, afficher le contenu de ce
fichier. Sinon, lister les contenus des fichiers crontab qui sont
exécutés avec la planification actuelle. Si une planification générique
est installée, afficher le contenu du fichier
$USCRONTAB_DEFAULT_FILE
et chacun des fichiers du répertoire
$USCRONTAB_DEFAULT_DIR
-n, --fake
Afficher au lieu de les exécuter les commandes qui doivent être lancées
@ -201,6 +218,10 @@ OPTIONS AVANCEES
USCRONTAB_CTLINE="* * * * * $script"
USCRONTAB_LOCKDELAY=8
USCRONTAB_STOPEC=101
USCRONTAB_BASEDIR=/var/uscrontab
USCRONTAB_DEFAULT_FILE="$USCRONTAB_BASEDIR/crontabs/$USER"
USCRONTAB_DEFAULT_DIR="$USCRONTAB_BASEDIR/$USER.d"
USCRONTAB_DEFAULT="$USCRONTAB_BASEDIR/$USER"
action=run
lockfile=auto