Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
crontab une semaine sur deux
Envoyé par: Herve Jonlet


Voilà, je suis en train d'installer des serveurs de backup. J'en ai deux qui seront disponibles et je souhaiterais basculer entre les deux une semaine sur deux pour garder une semaine d'historique chaque fois.

Du lundi au vendredi, je fais un backup sans effacer et le samedi soir je fais un miroir complet.

Je voudrais savoir si il y a moyen dans le crontab de spécifier "une semaine sur deux" ou si je suis obligé de jouer directement avec les jours du mois

Merci

Poste le Wednesday 23 June 2004 10:27:25
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: Herve Jonlet

Voilà le style de truc que je pense mettre en place,

0 20 1-7,15-21,29-31 * 1 mirrordir /users/ /backup/users/ --keep-files
0 20 1-7,15-21,29-31 * 2 mirrordir /users/ /backup/users/ --keep-files
0 20 1-7,15-21,29-31 * 3 mirrordir /users/ /backup/users/ --keep-files
0 20 1-7,15-21,29-31 * 4 mirrordir /users/ /backup/users/ --keep-files
0 20 1-7,15-21,29-31 * 5 mirrordir /users/ /backup/users/ --keep-files
0 20 1-7,15-21,29-31 * 6 mirrordir /users/ /backup/users/

Par exemple pour la première ligne, est ce que cela fera bien ce que je pense : si le jour est compris en le 1 et le 7 ou le 15 et le 21 ou le 28 et le 31 du mois et que le jour est un lundi, ca exécute la commande.

En fait, je ne suis pas sur de la combinaison entre l'option pour le jour et l'option pour le jour de la semaine

Poste le Wednesday 23 June 2004 10:31:45
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: pitou

Encore une question tant que j'y suis pour être certain d'être complet.

J'ai lu que l'utilisation de / permet de spécifier une alternace, donc dans les minutes si je met 0-59/2, cela fera une minute sur deux.

Mais alors, si dans les jours de la semaine je met 1/2, est ce que cela donnera un lundi sur deux ? Si oui cela solutionne mon problème

Poste le Wednesday 23 June 2004 10:46:01
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: oudoubah

Un solution un peu bricolée serait de créer un flag. Dans le script du backup du lundi, si le fichier toto existe alors rien. Le vendredi on supprime le fichier toto après la sauvegarde.
On fait pareil sur l'autre serveur.

Ca permet de résoudre, mais ça serait mieux de trouver une solution plus propre.


Poste le Wednesday 23 June 2004 13:28:45
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: resip

echo "scale=0;`date '+%U'` % 2" | bc -l
founi 1 ou 0 selon que la semaine est paire ou impaire
fais un test sur chaque serveur pour savoir celui qui doit sauvegarder

man date
%U fournit le numero de la semaine commencant par dimanche
%V, le numero de lasemaine commencant par lundi

Poste le Wednesday 23 June 2004 14:25:03
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: pitou

Ah oui c'est une super idée ca, je vais mettre en oeuvre directement.

Un grand merci

Poste le Wednesday 23 June 2004 16:04:27
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: pitou

Je crois que je vais peut être abuser, mais je ne connais pas du tout la programmation en shell.

Pour mettre cette commande dans une condition comment dois je faire ?

Je l'ai fait comme ceci mais ce n'est pas propre du tout

#!/bin/sh

echo "scale=0;`date '+%U'` % 2" | bc -l

if [ $? -eq 0 ] ; then
echo "paire"
else
echo "impaire"
fi

Poste le Wednesday 23 June 2004 16:54:47
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: resip

tu peux faire encore plus court

[ $(echo "scale=0;`date '+%U'` % 2" | bc -l) -eq 0 ] && echo paire || echo impaire

et vive le shell !!!

Poste le Thursday 24 June 2004 00:51:13
Répondre     Citer    
Re: crontab une semaine sur deux
Envoyé par: pitou

Merci

Tu m'as vraiment bcp aidé. Je vais pouvoir terminer les serveurs de backup et en plus je vais commencer à bosser sur les scripts en shell

Poste le Thursday 24 June 2004 08:58:30
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
crontab une semaine sur deux
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons