Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/05/2008, à 16:30

linitz

[Résolu] Crontab ne fait pas ce que je veux...

Salut tt le monde smile

J'aimerais lancer un script par semaine sur mon serveur.

Pour etre plus précis, j'ai 4 script de sauvegarde (1 par disque dur) que je dois lancer chaque semaine pendant un mois. Pour cela j'ai créée le crontab suivant

crontab -l

#       m       h       dom     mon     dow     command
        0       1       1-7     *       6       /save/disk1_backup.sh
        0       1       8-14    *       6       /save/disk2_backup.sh
        0       1       15-21   *       6       /save/disk3_backup.sh
        0       1       22-28   *       6       /save/disk4_backup.sh

Mais les scripts s'exécute n'importe quels jours hmm (mais toujours à 1h00) ! Je pense que le problème vient de la colonne dom mais je ne voit pas où... roll

Si quelqu'un comprend mon erreur, je suis preneur wink

Dernière modification par linitz (Le 16/05/2008, à 14:58)

Hors ligne

#2 Le 15/05/2008, à 17:10

krocket

Re : [Résolu] Crontab ne fait pas ce que je veux...

Un article très bien fait :

http://www.math-linux.com/spip.php?article=16


De plusieurs programmes ou systèmes d'exploitation en occurrence, le plus performant n'est jamais retenu comme standard !

Bobby sort de là !

Hors ligne

#3 Le 15/05/2008, à 17:40

linitz

Re : [Résolu] Crontab ne fait pas ce que je veux...

Si je comprend bien l'article que tu m'a donnée (effectivement très bien fait ^^) la barre symbolise "de tel moment à tel moment" et non pas "entre tel moment et tel moment".

Je vais essayé de faire mon crontab autrement alors...

Pour info, je voulais lancer mon script chaque samedi entre le 1 et le 7 de chaque mois à 1h00. wink

Dernière modification par linitz (Le 15/05/2008, à 17:43)

Hors ligne

#4 Le 16/05/2008, à 03:22

Beamo

Re : [Résolu] Crontab ne fait pas ce que je veux...

D'après le wiki :

http://en.wikipedia.org/wiki/Cron#crontab_syntax

A job is executed when the time/date specification fields all match the current time and date. There is one exception: if both "day of month" and "day of week" are restricted (not "*"), then either the "day of month" field (3) or the "day of week" field (5) must match the current day (even though the other of the two fields need not match the current day).

Par contre j'avoue ne pas avoir de solution pour ta manip...

Sinon tu regroupes tes 4 scripts en un seul avec un grand "case" et tu fais le test de date dedans :

date +%d

Beamo

Dernière modification par Beamo (Le 16/05/2008, à 03:23)

Hors ligne

#5 Le 16/05/2008, à 14:56

linitz

Re : [Résolu] Crontab ne fait pas ce que je veux...

D'abord, Merci pour vos réponses wink

Donc d'après ce que j'ai compris, il est impossible de lancer un script un jour de la semaine donnée (samedi) dans une fourchette de date (du 1er au 7 de chaque mois) avec cron tab.

Le seul moyen pour faire ça est de faire un script qui gère ça tout seul (je perds l'intérêt de crontab).

Je vais donc faire un compromis en faisant cette crontab :

#       m       h       dom     mon     dow     command
        0       1       1     *       *       /save/disk1_backup.sh
        0       1       8    *       *       /save/disk2_backup.sh
        0       1       15   *       *       /save/disk3_backup.sh
        0       1       22   *       *       /save/disk4_backup.sh

L'inconvénient est que mes sauvegardes s'exécuteront n'importe quel jour de la semaine et non pas le week-end... roll

Enfin bon, je classe le sujet en résolu quand même smile

Dernière modification par linitz (Le 16/05/2008, à 14:59)

Hors ligne

#6 Le 18/05/2008, à 08:33

Brunod

Re : [Résolu] Crontab ne fait pas ce que je veux...

Salut,
Il n'y a pas possibilité de greffer sur le script le calcul du jour de la semaine ?
En programmation classique, c'est un modulo 7 du nombre de jour entre deux dates.
(En script, je suis nul.)
BD


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#7 Le 18/05/2008, à 09:14

lawl

Re : [Résolu] Crontab ne fait pas ce que je veux...

pas besoin de script on peut trés bien spécifiez un jour de la semaine.
Dans le lien donné plus haut :

- dow pour day of week(jour de la semaine) comprise entre 0 et 7, le dimanche étant 0 ou 7, le lundi 1, etc ...

Donc dans la colonne dow il ne faut pas mettre * mais le jour désiré.

Hors ligne

#8 Le 18/05/2008, à 12:40

Beamo

Re : [Résolu] Crontab ne fait pas ce que je veux...

lawl a écrit :

pas besoin de script on peut trés bien spécifiez un jour de la semaine.
Dans le lien donné plus haut :

- dow pour day of week(jour de la semaine) comprise entre 0 et 7, le dimanche étant 0 ou 7, le lundi 1, etc ...

Donc dans la colonne dow il ne faut pas mettre * mais le jour désiré.

Non justement cela ne marche pas d'ou cette discussion


http://en.wikipedia.org/wiki/Cron#crontab_syntax

A job is executed when the time/date specification fields all match the current time and date. There is one exception: if both "day of month" and "day of week" are restricted (not "*"), then either the "day of month" field (3) or the "day of week" field (5) must match the current day (even though the other of the two fields need not match the current day).

Hors ligne

#9 Le 18/05/2008, à 14:52

linitz

Re : [Résolu] Crontab ne fait pas ce que je veux...

justement non lawl roll

On peut lancer un script chaque dimanche soir à 1h00 par exemple, mais on peut pas lancer un script le dimanche compris entre le 1 et le 7 à 1h00 (lancer le script une fois par mois en quelque sorte...) sad

Après, oui il doit être possible de gérer ça dans un script mais je ne préfère pas rentrer là dedans (non pas que ça me gène de le programmer, mais pour être plus rigoureux) wink

Hors ligne

#10 Le 18/05/2008, à 18:23

lawl

Re : [Résolu] Crontab ne fait pas ce que je veux...

Oui j'avais pas bien vue la problématique, désolé ....Sinon j'amais essayer mais il me semble que http://fcron.free.fr/ permet de faire ce que tu veux.
Cela dit je ne vois pas ou est le manque de rigueur dans un script lancé chaque dimanche et qui lance le bon script. C'est même la base d'Unix de scripter. Perso je trouve presque ca plus propre que d'avoir 4 scripts  dans le cron.

Hors ligne

#11 Le 19/05/2008, à 10:38

linitz

Re : [Résolu] Crontab ne fait pas ce que je veux...

trooooll en vue big_smile

Ce que je voulais dire par "rigueur", c'est que je ne serais pas la personne qui va administrer le serveur et je préfère obtenir la configuration la plus simple possible.

La crontab s'occupe de la fréquence des sauvegardes.
Le script s'occupe de la sauvegarde.

wink

Je regarderais fcron ce week-end...

Hors ligne