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 10/10/2009, à 16:04

thenn42

Mettre en pause une commande lancée au lancement de screen

Bonjour smile,
Je veux lancer une synchronisation avec rsync en utilisant crontab.
Je voudrais pouvoir mettre la synchronisation en pause quand elle dure trop longtemps.
J'ai alors pensé à utiliser screen:

16 15 * * * screen -d -m  -S backup rsync  -v --progress  /home/thenn42/doc /home/thenn42/backup

Mais la commande ne semble pas être lancée dans un terminal et control + Z ne marche pas (et donc ne met pas en pause).

J’ai essayé de faire comme ça mais ça ne marche pas non plus:

16 15 * * * screen -d -m  -S backup bash -i -c "rsync  -v --progress  /home/thenn42/doc /home/thenn42/backup"

Donc comment faire pour lancer une commande avec screen et pouvoir la mettre en pause plus tard?
Merci d'avance smile.

Dernière modification par thenn42 (Le 10/10/2009, à 16:07)

Hors ligne

#2 Le 10/10/2009, à 16:06

kyncani

Re : Mettre en pause une commande lancée au lancement de screen

kill -STOP `pidof rsync`
kill -CONT `pidof rsync`

EDIT:
Sinon, pour exécuter rsync avec une priorité minimale.
Installe schedtool
Lance rsync avec : ionice -c3 schedtool -D -e /usr/bin/rsync

Dernière modification par kyncani (Le 10/10/2009, à 16:08)

Hors ligne

#3 Le 10/10/2009, à 16:08

thenn42

Re : Mettre en pause une commande lancée au lancement de screen

merci mais si j'ai plusieurs synchronisation en même temps(ce qui est le cas en fait), comment je sais quel rsync est le bon?

edit:
une priorité minimale par rapport à quoi?

Dernière modification par thenn42 (Le 10/10/2009, à 16:10)

Hors ligne

#4 Le 10/10/2009, à 16:11

wido

Re : Mettre en pause une commande lancée au lancement de screen

Bonjour,
dans le manuel tu as ça:

DEFAULT KEY BINDINGS
       As  mentioned,  each screen command consists of a "C-a" followed by one
       other character.  For your convenience, all commands that are bound  to
       lower-case  letters  are also bound to their control character counter‐
       parts (with the exception of "C-a a"; see below), thus, "C-a c" as well
       as  "C-a  C-c"  can be used to create a window. See section "CUSTOMIZA‐
       TION" for a description of the command.

       The following table shows the default key bindings:
[...]

       C-a C-z     (suspend)     Suspend screen.   Your  system  must  support
                                 BSD-style job-control.

voir

man screen

Hors ligne

#5 Le 10/10/2009, à 16:18

kyncani

Re : Mettre en pause une commande lancée au lancement de screen

Pour savoir lequel est le bon, oublie. Si tu ne peux pas repérer à la main quel rsync stopper, il faut stocker le pid du rsync dans un fichier et donc savoir scripter.

Pour les priorités, c'est l'ordonnanceur qui gère ça. Il y a des articles un peu partout (cherche scheduler). Lis-les si tu n'as pas confiance en la commande que je t'ai donné (et on devrait toujours se renseigner, vérifier plutôt que d'accorder une confiance aveugle).

Hors ligne

#6 Le 10/10/2009, à 16:21

thenn42

Re : Mettre en pause une commande lancée au lancement de screen

Pour les priorités j'ai fais une recherche rapide  je vois ce que c'est.

En fait mes synchronisations sont en réseaux c'est pour ça que j'ai besoin de couper pour libérer l'upload de mon serveur.

Pour Control a + control z , ça met en pause screen mais rsync continue la synchronisation.

Edit:
Bon merci, je vais me débrouiller avec :

kill -STOP `pidof rsync`
kill -CONT `pidof rsync`

Si quelqu'un sait comment faire pour utiliser control +z dans ce cas , ça me ferais gagner du temps.

Merci pour l'aide! smile

Dernière modification par thenn42 (Le 11/10/2009, à 23:16)

Hors ligne