Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 22/07/2013, à 05:19

alfirdaous

[RESOLU]Sleep Shebang

Bonjour,

Je veux faire 2 operations, une de faire le backup et l'autre de l'envoyer vers un autre serveur, entre les 2 operations, je veux que le script fait dodo afin de continuer:

Operation 1

Attendre pour 1 minute

Operation 2

Comment faire dodoter le script entre la 1ere et la 2eme operation?

Merci a vous

Dernière modification par alfirdaous (Le 26/07/2013, à 09:38)

Hors ligne

#2 Le 22/07/2013, à 05:27

nesthib

Re : [RESOLU]Sleep Shebang

commande 1
sleep 60
commande 2

pour 60 secondes

NB. c'est quoi le rapport avec le shebang ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 22/07/2013, à 06:45

alfirdaous

Re : [RESOLU]Sleep Shebang

nesthib a écrit :

NB. c'est quoi le rapport avec le shebang ?

Ces commandes ne font pas partis du shebang?

Hors ligne

#4 Le 22/07/2013, à 06:57

nesthib

Re : [RESOLU]Sleep Shebang

Je ne crois pas non wink Shebang

Je pense que tu devais vouloir dire shell (ou interpréteur de commandes).


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 22/07/2013, à 08:18

alfirdaous

Re : [RESOLU]Sleep Shebang

J'ai cru qu'ils sont les memes big_smile

Hors ligne

#6 Le 22/07/2013, à 08:49

alfirdaous

Re : [RESOLU]Sleep Shebang

peut on s'assurer qu'une tache a ete bien faite sinon on envoi une alerte?

Hors ligne

#7 Le 22/07/2013, à 08:53

pingouinux

Re : [RESOLU]Sleep Shebang

Salut,

commande && echo "C'est bon" || echo "Il y a un problème"

Hors ligne

#8 Le 22/07/2013, à 10:29

alfirdaous

Re : [RESOLU]Sleep Shebang

peut on faire ca, notification e-mail:

Mes commandes ici

Message="C'est bon" || "Il y a un problème";

echo $Message | /bin/mail -s "Error" mail@domain.tld

Hors ligne

#9 Le 22/07/2013, à 10:35

pingouinux

Re : [RESOLU]Sleep Shebang

commande && Message="C'est bon" || Message="Il y a un problème"

Hors ligne

#10 Le 22/07/2013, à 10:42

alfirdaous

Re : [RESOLU]Sleep Shebang

hmm j'ai pas compris:

NOW=$(date +"%d-%m-%Y"_"%R:%S");

#Dump:
mysqldump -u root -pRoot test > /home/alfirdaous/www/BackUps/$NOW'-test.sql'

# Sleep for 1 minute
sleep 60

# Start transfert
rsync -e 'ssh' -vrR  --ignore-existing --log-file=/var/log/rsync.log /home/alfirdaous/www/BackUps/ USER@SERVER:/home/alfirdaous/www/

&& Message="C'est bon" || Message="Il y a un problème" echo "C'est bon" || echo "Il y a un problème"

Hors ligne

#11 Le 22/07/2013, à 14:37

pingouinux

Re : [RESOLU]Sleep Shebang

bash -c "set -e; commande_1; commande_2;..." && Message="C'est bon" || Message="Il y a un problème"

Le set -e permet d'arrêter le bash à la première commande en erreur; sinon, toutes les commandes sont exécutées, et le code de retour de l'ensemble est celui de la dernière commande.

Hors ligne

#12 Le 23/07/2013, à 08:01

alfirdaous

Re : [RESOLU]Sleep Shebang

J'ai commis une betise peut etre:

# Get date and time
NOW=$(date +"%d-%m-%Y"_"%R:%S"); #RS will replace hour and minutes

# Dump alfirdaous database
Dump=$("mysqldump -u root -proot alfirdaous > /home/alfirdaous/www/BackUps/$NOW-alfirdaous.sql")

# Sleep for 1 minute
Sleep=$("sleep 60")

# Start transfert
Transfert=$("rsync -e 'ssh' -vrR  --ignore-existing --log-file=/var/log/rsync.log /home/alfirdaous/www/BackUps/ USER@SERVER:/home/alfirdaous/www")

bash -c "set -e; $NOW; $Dump; $Sleep; $Transfert" && Message="C'est bon" || Message="Il y a un problème"

rsync.sh: line 9: mysqldump -u root -proot alfirdaous > /home/alfirdaous/www/BackUps/23-07-2013_07:58:51-alfirdaous.sql: No such file or directory

Hors ligne

#13 Le 23/07/2013, à 08:18

alfirdaous

Re : [RESOLU]Sleep Shebang

j'ai pus faire ca:

# Get date and time
NOW=$(date +"%d-%m-%Y"_"%R:%S") #RS will replace hour and minutes
# Dump alfirdaous database

#Sleep for 5 Sec
Sleep5=`sleep 5`

Dump=`mysqldump -u root -proot alfirdaous > /home/alfirdaous/www/BackUps/$NOW-alfirdaous.sql`

# Sleep for 20 Sec
Sleep=`sleep 20`

# Start transfert
Transfert=`rsync -e 'ssh' -vrR  --ignore-existing --log-file=/var/log/rsync.log /home/alfirdaous/www/BackUps/ USER@SERVER:/home/alfirdaous/www`

bash -c "set -e; $NOW; $Sleep5; $Dump; $Sleep; $Transfert" && Message="C'est bon" || Message="Il y a un problème"

une erreur:

bash: -c: line 0: syntax error near unexpected token `;'
bash: -c: line 0: `set -e; 23-07-2013_08:15:23; ; ; ; sending incremental file list'

Hors ligne

#14 Le 23/07/2013, à 09:10

pingouinux

Re : [RESOLU]Sleep Shebang

Les variables que tu crées contiennent le résultat des commandes et non les commandes elles-mêmes. Le plus simple me semble de faire un script :

$ cat ton_script
#!/bin/bash

set -e

NOW=$(date +"%d-%m-%Y"_"%R:%S");

#Dump:
mysqldump -u root -pRoot test > /home/alfirdaous/www/BackUps/$NOW'-test.sql'

# Sleep for 1 minute
sleep 60

# Start transfert
rsync -e 'ssh' -vrR  --ignore-existing --log-file=/var/log/rsync.log /home/alfirdaous/www/BackUps/ USER@SERVER:/home/alfirdaous/www/

de le rendre exécutable

chmod u+x ton_script

et de l'exécuter ainsi

./ton_script && Message="C'est bon" || Message="Il y a un problème"

Hors ligne

#15 Le 24/07/2013, à 03:13

alfirdaous

Re : [RESOLU]Sleep Shebang

merci pingouinux, c'est un peut complique, je vais l'utiliser sans messagepingouinux

Hors ligne

#16 Le 24/07/2013, à 03:35

alfirdaous

Re : [RESOLU]Sleep Shebang

est ce que je peux faire ca:

Ecrire les commandes et s'assurer avec un script PHP de son execution?

Hors ligne

#17 Le 24/07/2013, à 15:13

Haleth

Re : [RESOLU]Sleep Shebang

Note que ton sleep ne sert à rien.

Ton mysqldump va prendre le temps qu'il faut.
Lorsqu'il aura fini, ton script va attendre 1min (via le sleep): pendant ce temps, il ne va rien faire. Le sleep va commencer lorsque le mysqldump aura fini.


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#18 Le 25/07/2013, à 01:21

alfirdaous

Re : [RESOLU]Sleep Shebang

merci Haleth

Hors ligne

Haut de page ↑