Rechercher : dans
Par :

Script Perl / Shell / Sauvegarde

Dernière réponse le 8 nov 2007 à 18:48:03 Denver, le 7 nov 2007 à 16:38:54 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite faire un programme en Perl qui devrait etre simple.
Mais sur un simple "ls -l nomdefichier" le programme me ressort : "abandon"

Ma question : Pourquoi ?

Deuxième chose, quelqu'un aurait-il une solution simple à cette problématique qui a la base est :

Vérification de la bonne execution de la sauvegarde sur bande.
En fait j'ai 2 dump de bases (ldap + mysql). Donc 2 fichiers .gz mis sur bande.
Il faut donc comparer la date du jour à la date des fichiers qui sont sur la bande avant sont ejection du lecteur.

Le script de sauvegarde est un shell, mais j'peux très bien faire appel à un fichier perl avant la fin du fichier sh.

Merci d'avance.

Denver.

Meilleures réponses pour « Script Perl / Shell / Sauvegarde » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...

1

oeuf hop là, le 7 nov 2007 à 18:20:45

Mais sur un simple "ls -l nomdefichier" le programme me ressort : "abandon"

Ma question : Pourquoi ?



erf si on voyait le code ça serait plus facile :)

Kes ki fo faire kan on a détruit Alfred

Répondre à oeuf hop là

2

Denver, le 8 nov 2007 à 10:18:33

Simple erreur de débutant :

Sans le #!/usr/bin/perl
EN PREMIERE LIGNE, le programme ne fonctionne pas.

Et tout simplement, pour executer une commande en Perl :

my $commande = "ls -l nomdefichier'";
my $resultat = system($commande);



System permet d'executer une commande Shell dans un script Perl.
Plus précisement, une commande du système source.
A la base, je suis en Shell, je lance un Perl, qui execute lui même un Shell.

La commande Exec permet la même chose, mais ne revient pas au système d'origine.

J'éspère avoir été clair tout de même ... ;-)

Répondre à Denver

3

 lami20j, le 8 nov 2007 à 18:48:03

Salut,

tu as un apostrophe simple à la fin de nomfichier

sinon ça doit fonctionner.

regarde

lami20j@debian:~/trash$ ls -l aa
-rw-r--r-- 1 lami20j lami20j 3104 2007-10-30 23:29 aa
lami20j@debian:~/trash$ cat ccm.pl
#!/usr/bin/perl


my $commande = "ls -l aa";
my $resultat = system($commande);
lami20j@debian:~/trash$ perl ccm.pl
-rw-r--r-- 1 lami20j lami20j 3104 2007-10-30 23:29 aa

lami20j

Répondre à lami20j
Collection CommentÇaMarche.net