Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Structure d'un nom de fichier dans la crontab

19 réponses
Avatar
Alain Vaugham
Bonjour la liste,

La crontab ne fait pas ce que je veux...

Pourtant en ligne de commande j'ai bien ce que je veux :
$ pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date +%m)$(date +%=
d)-$(date +%H)$(date +%M)$(date +%S).sql

Par contre, dans la crontab, cette m=C3=AAme syntaxe ne g=C3=A9n=C3=A8re pa=
s le=20
fichier escompt=C3=A9 :
* * * * * pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date +%m)$=
(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql

Je me suis dout=C3=A9 qu'il fallait ajouter des s=C3=A9parateurs de champs.
Comme le man de crontab n'aborde pas le sujet j'avance =C3=A0 t=C3=A2tons a=
vec ce lien :
http://fr.wikipedia.org/wiki/Crontab
J'ai donc test=C3=A9 diff=C3=A9rentes combinaisons de caract=C3=A8res "'\/[=
]{}=20
en m'inspirant =C3=A9galement de la syntaxe employ=C3=A9e par le fichier .p=
rocmail
mais sans succ=C3=A8s.
Il me semble qu'en dehors de la ligne de commande les syntaxes varient
au sein d'une m=C3=AAme distribution.

Est-ce que quelqu'un pourrait m'indiquer le bon tuto pour une Squeeze?

Merci beaucoup par avance.

--=20
Alain Vaugham
Clef GPG : 0xD26D18BC

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20120806120914.05a8421a@mach07.localdomain

10 réponses

1 2
Avatar
Bzzz
On Mon, 6 Aug 2012 12:09:14 +0200
Alain Vaugham wrote:


Par contre, dans la crontab, cette même syntaxe ne génère pas le
fichier escompté :
* * * * * pg_dump -a db_mabase > ~/backup/db_mabase_$(date
+%Y)$(date +%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql



Il suffirait de lire la doc et de 'gader les 'exemples' existant déj à
pour s'apercevoir qu'il manque le user...

--
<Lilaaa> mais moi je suis une princesse qui attend son prince charmand!
<Arafel> Attends mais tu crois quoi? Qu'un type qui est obligé de pren dre
tout seul d'assaut une forteresse, zigouiller un putain de dragon,
laminer une sorcière et tout ça juste pour tirer un coup , c'est un
méga beau mec avec une haleine mentholée, la dent qui br ille en
faisant TINT! et les cheveux qui volent au vent?
<Lilaaa> ...
<Arafel> Tu peux me croire petite, Shrek, c'est la version la plus
réaliste d'un compte de fées... C'est à la limite d u documentaire...
<Lilaaa> ...
<Arafel> Maintenant, si tu veux, je t'explique vite fait pour le père noël,
dieu et la petite souris...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nicolas Gadoux
Salut,

cela dépend certainement de ton shell.

Je te conseille dans ton crontab :
- d'utiliser les chemins complets vers ton script ou programme (ou de le
déclarer via la variable PATH)
- de toujours "sélectionner" ton shell (via la variable SHELL)
- d'éviter cette syntaxe $(commande) et de privilégier celle là :
`commande` (car la première ne fonctionne pas dans tous les shells)

Le plus simple et propre étant de créer un script (avec un shebang) et
de l'appeler dans ton crontab (toujours en chemin complet)

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Tanguy Ortolo
Nicolas Gadoux, 2012-08-06 13:57+0200:
Je te conseille dans ton crontab :
- d'éviter cette syntaxe $(commande) et de privilégier celle là :
`commande` (car la première ne fonctionne pas dans tous les shells)



Cette syntaxe `commande` est caduque depuis des années, remplacée par
$(commande) qui est plus flexible et prise en charge par tous shells
actuels.

--
,--.
: /` ) Tanguy Ortolo <xmpp:
| `-' Debian Developer <irc://irc.oftc.net/Tanguy>
_

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/jvocft$nb$
Avatar
Alain Vaugham
Le Mon, 6 Aug 2012 12:14:53 +0000 (UTC),
Tanguy Ortolo <tanguy+ a écrit :

Nicolas Gadoux, 2012-08-06 13:57+0200:
> Je te conseille dans ton crontab :
> - d'éviter cette syntaxe $(commande) et de privilégier celle là :
> `commande` (car la première ne fonctionne pas dans tous les shells)

Cette syntaxe `commande` est caduque depuis des années, remplacà ©e par
$(commande) qui est plus flexible et prise en charge par tous shells
actuels.




Merci Nicolas/Tanguy
Je vais donc remplacer la commande dans la crontab par un script.



--
Alain Vaugham
Clef GPG : 0xD26D18BC

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nicolas Gadoux
Ah ok, je ne savais pas qu'elle visait à la remplacer, je pensais juste
que c'était une autre façon de faire.
Qu'apporte-t'elle de mieux ? J'ai cherché sur le net mais n'ai rien trouvé.

En tout cas elle n'a pas été implémentée en C-Shell (shell par défaut
sous FreeBSD par exemple).

Cette syntaxe `commande` est caduque depuis des années, remplacée par
$(commande) qui est plus flexible et prise en charge par tous shells
actuels.




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
nicolas.patrois
Le 06/08/2012 14:43:48, Nicolas Gadoux a écrit :

Qu'apporte-t'elle de mieux ? J'ai cherché sur le net mais n'ai rien
trouvé.



Elle permet de les emboîter, par exemple.

nicolas patrois : pts noir asocial
--
RÉALISME

M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des
humains ? Un cerveau plus gros ?
P : Non... Une carte bleue suffirait...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Grégory Bulot
Bonjour, Bonsoir,

Le Mon, 6 Aug 2012 12:09:14 +0200, Alain Vaugham, vous avez écrit :

Bonjour la liste,

La crontab ne fait pas ce que je veux...

Pourtant en ligne de commande j'ai bien ce que je veux :
$ pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date
+%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql

Par contre, dans la crontab, cette même syntaxe ne génère pas le
fichier escompté :
* * * * * pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date
+%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql



Maintenant que tu as [résolu]

pg_dump -a db_mabase > ~/backup/db_mabase_$(date +"%Y%m%d-%H%M%S" ).sql
me semble plus propre (moins crade) : un seul appel au shell, au lieu
de 6


--
Cordialement
Grégory BULOT

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Alain Vaugham
Le Mon, 6 Aug 2012 18:55:00 +0200,
Grégory Bulot a écrit :

Bonjour, Bonsoir,

Le Mon, 6 Aug 2012 12:09:14 +0200, Alain Vaugham, vous avez écrit :

> Bonjour la liste,
>
> La crontab ne fait pas ce que je veux...
>
> Pourtant en ligne de commande j'ai bien ce que je veux :
> $ pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date
> +%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql
>
> Par contre, dans la crontab, cette même syntaxe ne génèr e pas le
> fichier escompté :
> * * * * * pg_dump -a db_mabase > ~/backup/db_mabase_$(date +%Y)$(date
> +%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql

Maintenant que tu as [résolu]

pg_dump -a db_mabase > ~/backup/db_mabase_$(date +"%Y%m%d-%H%M%S" ).sql
me semble plus propre (moins crade) : un seul appel au shell, au lieu
de 6





Merci pour la correction.
Je séparais tout car je n'arrivais pas à insérer le "-" entr e le jour
et l'heure.


--
Alain Vaugham
Clef GPG : 0xD26D18BC

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Alain Vaugham
Le Mon, 6 Aug 2012 13:48:19 +0200,
Bzzz a écrit :

On Mon, 6 Aug 2012 12:09:14 +0200
Alain Vaugham wrote:

>
> Par contre, dans la crontab, cette même syntaxe ne génèr e pas le
> fichier escompté :
> * * * * * pg_dump -a db_mabase > ~/backup/db_mabase_$(date
> +%Y)$(date +%m)$(date +%d)-$(date +%H)$(date +%M)$(date +%S).sql

Il suffirait de lire la doc et de 'gader les 'exemples' existant déj à
pour s'apercevoir qu'il manque le user...




Non, il ne manque pas le user.
Avec cette syntaxe dans la crontab, pg_dump déverse bien dans un fichi er.
C'est seulement le nom de ce fichier qui n'est pas celui escompté.

Avant de poster, j'ai collecté bon nombre d'exemples qui ne conviennen t pas...

--
Alain Vaugham
Clef GPG : 0xD26D18BC

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Mon, 6 Aug 2012 21:54:47 +0200
Alain Vaugham wrote:


Non, il ne manque pas le user.
Avec cette syntaxe dans la crontab, pg_dump déverse bien dans un
fichier.



Pas trop normal ça, chez moi en dehors de postgres personne ne peut
se connecter sans mot de passe.

C'est seulement le nom de ce fichier qui n'est pas celui
escompté.



Tu fais un script genre:

#!/bin/sh
TS=$(date +"%Y-%m-%d_%Hh%M")
pg_dump -a db_XYZ > /home/userx/backup/db_XYZ_${TS}.sql

que tu rends exécutable et que tu colles dans
/usr/local/bin/pgbackup_XYZ.sh

et un crontab:
* * * * * postgres if [ -x /usr/local/bin/pgbackup_XYZ.sh ]; then /usr/lo cal/bin/pgbackup_XYZ.sh; fi

--
<Angel> C'est dans quel conte qu'ils sont sept ?
<Foxbot> Dans cendrillon
<Angel> T'es sur ?
<Foxbot> Ouais. Cendrillon et les citrouilles, ça fait bien 7.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2