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 02/11/2017, à 01:28

Le Barde

Boucle for avec "screen -dmS" pour la sauvegarde

Salut à tous,

Je me suis fait un script pour la sauvegarde, que je mets en bas du post. En très vite, ça appelle plusieurs fois rsync de cette manière :

rsync -av --ignore-errors ma-source ma-destination

Pour pouvoir surveiller tout ça, je le mettrais bien dans un screen, de cette manière :

screen -dmS sauvegarde rsync -av --ignore-errors ma-source ma-destination

Le problème c'est que ça va tout faire en parallèle... Je voudrais qu'on passe au Rsync suivant seulement quand c'est terminé.

Comment adapter mon script ? Merci d'avance !
Le Barde.


Le script

#!/bin/sh

# Script de sauvegarde. Celui-ci doit être appelé le plus souvent possible.

#
# Variables de travail
#

$HOME=/home/lebarde
SAVE_DIRS="$HOME/bin $HOME/dev $HOME/Documents 
           $HOME/Dropbox $HOME/texte 
           $HOME/.config $HOME/.filezilla $HOME/.fonts
           $HOME/.local $HOME/.ssh
SAVE_DEST=/mnt/red/sauvegarde
COMMAND="rsync -av --ignore-errors"

#
# Sauvegarde
#

for i in $SAVE_DIRS; do
    $COMMAND $i $SAVE_DEST
    # screen -dmS sauvegarde $COMMAND $i $SAVE_DEST
done
#
# Fin du script
#
exit 0

Hors ligne

#2 Le 02/11/2017, à 02:34

Watael

Re : Boucle for avec "screen -dmS" pour la sauvegarde

salut,

définis un fichier de log pour surveiller l'avancement de rsync.
tu pourras lire le fichier journal en temps réél avec less +F

Dernière modification par Watael (Le 02/11/2017, à 14:05)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 02/11/2017, à 10:31

kholo

Re : Boucle for avec "screen -dmS" pour la sauvegarde

salut,
ou en suivant le PID :

PID=$!

dans le script tu peux l'envoyer dans un fichier
puis, comme un service

while [ -e /proc/$PID ]; do
...
done

Hors ligne

#4 Le 02/11/2017, à 13:52

Le Barde

Re : Boucle for avec "screen -dmS" pour la sauvegarde

Merci de vos réponses !

En fait je me suis rendu compte que rsync accepte plusieurs sources. Du coup je peux tout mettre dans un seul rsync. Ça, ça fonctionne.

Maintenant, je n'arrive pas à le faire fonctionner dans un screen.

Voici ce que je fais :

#screen -dmS sauvegarde "$COMMAND $SAVE_DIRS $SAVE_DEST" # Ne semble pas fonctionner
$COMMAND $SAVE_DIRS $SAVE_DEST                           # fonctionne bien

En fait le "screen -dmS" crée bien un screen, mais je n'ai rien d'exécuté à l'intérieur. J'ai simplement un screen comme d'habitude.

Bizarre non ?

Dernière modification par Le Barde (Le 02/11/2017, à 13:53)

Hors ligne

#5 Le 02/11/2017, à 14:07

Watael

Re : Boucle for avec "screen -dmS" pour la sauvegarde

l'emploi de screen n'est pas justifié.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#6 Le 02/11/2017, à 14:10

kholo

Re : Boucle for avec "screen -dmS" pour la sauvegarde

oui...

$COMMAND $SAVE_DIRS $SAVE_DEST &
PID=$!
while...

Hors ligne