[CRONTAB] problème d'éxécution de la commande
Fermé
koko
-
25 janv. 2010 à 11:24
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 - 26 janv. 2010 à 13:51
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 - 26 janv. 2010 à 13:51
A voir également:
- [CRONTAB] problème d'éxécution de la commande
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande sfc scannow - Guide
10 réponses
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
25 janv. 2010 à 12:37
25 janv. 2010 à 12:37
Euh, le d du début indique que tu as affaire à un répertoire...
Tu devrais te renseigner un peu plus sur la gestion des fichiers et des droits sous linux...
Je te déconseille de faire un chmod 777, c'est une mauvaise habitude, si tu veux rajouter uniquement les droits en exécution, un chmod +x backups.sh suffit amplement.
Tu devrais te renseigner un peu plus sur la gestion des fichiers et des droits sous linux...
Je te déconseille de faire un chmod 777, c'est une mauvaise habitude, si tu veux rajouter uniquement les droits en exécution, un chmod +x backups.sh suffit amplement.
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
25 janv. 2010 à 11:33
25 janv. 2010 à 11:33
Salut,
Vérifie que l'utilisateur qui lance ta commande a les droits d'exécution sur celle-ci.
(Sinon, à placer dans le crontab de root)
à ta place, je ferais un script qui contient ta commande rsync -avz -e ssh /<chemin_fichier> login@ip_serveur:/<chemin destination>/
et c'est le lancement du script que je programmerai dans ton cron.
N'oublie pas de rendre ton script exécutable.
Vérifie que l'utilisateur qui lance ta commande a les droits d'exécution sur celle-ci.
(Sinon, à placer dans le crontab de root)
à ta place, je ferais un script qui contient ta commande rsync -avz -e ssh /<chemin_fichier> login@ip_serveur:/<chemin destination>/
et c'est le lancement du script que je programmerai dans ton cron.
N'oublie pas de rendre ton script exécutable.
et si je crée un fichier backups.sh sous la racine et que j'y met la commande
'rsync -avz -e ssh /<chemin_fichier> login@ip_serveur:/<chemin destination>/ '
du coup je modifie la crontab :
*/30 * * * 1-5 /backups.sh
Si je comprend bien cron va éxécuter la commande qui se trouve dans backups.sh
Cela va-t-il fonctionner ou ne rien faire comme précédemment ?
'rsync -avz -e ssh /<chemin_fichier> login@ip_serveur:/<chemin destination>/ '
du coup je modifie la crontab :
*/30 * * * 1-5 /backups.sh
Si je comprend bien cron va éxécuter la commande qui se trouve dans backups.sh
Cela va-t-il fonctionner ou ne rien faire comme précédemment ?
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
25 janv. 2010 à 11:46
25 janv. 2010 à 11:46
Oui, sauf que pour faire un script shell, il y a quelques trucs à rajouter en plus dans ton fichier. Je te laisse chercher ça, tu devrais trouver en 3sec sur google.
Et puis sache que chaque utilisateur Unix a un crontab qui lui est propre, et qui permet de lancer des commandes dans SON environnement, avec SES droits.
Donc soit tu étais connecté root lorsque tu as édité ton crontab (crontab -e), auquel cas, tu as juste à rendre ton script shell exécutable (chmod +x <nomdufichier>), soit tu ne l'étais pas et il faut que tu autorises ton user à exécuter la commande rsync.
Voilou
Et puis sache que chaque utilisateur Unix a un crontab qui lui est propre, et qui permet de lancer des commandes dans SON environnement, avec SES droits.
Donc soit tu étais connecté root lorsque tu as édité ton crontab (crontab -e), auquel cas, tu as juste à rendre ton script shell exécutable (chmod +x <nomdufichier>), soit tu ne l'étais pas et il faut que tu autorises ton user à exécuter la commande rsync.
Voilou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dacodac
en fait j'ai fais un chmod 777 backups.sh
et quand le fais un ls -al pour afficher les droits il me met -rwxrwxrwx ... je comprend ce que ça veut dire mais je sais pas pourquoi il manque le 'd' au début
need help!
en fait j'ai fais un chmod 777 backups.sh
et quand le fais un ls -al pour afficher les droits il me met -rwxrwxrwx ... je comprend ce que ça veut dire mais je sais pas pourquoi il manque le 'd' au début
need help!
judasperge
Messages postés
153
Date d'inscription
jeudi 5 novembre 2009
Statut
Membre
Dernière intervention
19 février 2012
35
25 janv. 2010 à 13:15
25 janv. 2010 à 13:15
faudrait faire une sortie verbose et également des érreurs dans un fichier pour voir ce qui se passe... -v >>result 2>&1 ...non ?
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
25 janv. 2010 à 13:55
25 janv. 2010 à 13:55
Ben oui, si besoin...
Sinon tu peux faire un autre script qui contrôle la présence de ton fichier de backup...
Sinon tu peux faire un autre script qui contrôle la présence de ton fichier de backup...
Re-bonjour
Je dirai que le problème est presque résolu ...
En fait j'ai faits des tests sur une même machine pour le moment :
- j'ai créé un fichier backups.sh
- j'y ai mis :
#!/bin/bash
rsync -a /home/administrateur/<fichier> /home/administrateur/my_backups/
- j'ai ajouté le droit d'éxécution pour backups.sh avec la commande chmod u+x backups.sh
- j'ai modifié crontab avec crontab -e
- j'y ai mis :
*/5 * * * 1-5 /bin/backups.sh
- j'ai modifié la crontab dans etc
- j'y ai mis :
*/5 * * * 1-5 /bin/backups.sh
- Puis j'ai redémarré crond avec /etc/init.d/crond restart
Le test est concluant, la sauvegarde se fait toutes les 5 minutes
j'ai refais la même démarche pour la sauvegarde à distance en créant backups_srv.sh et en y inscrivant :
#!/bin/bash
rsync -a -e ssh /home/administrateur/my_backups/ root@titi:/home/administrateur/backups_rsync/
j'ai modifié les droits et la crontab pour executer la commande toutes les 5 minutes
mais là problème rien ne se passe, si vous avez des suggestions, pouvez vous m'en faire part s'il vous plait
Je dirai que le problème est presque résolu ...
En fait j'ai faits des tests sur une même machine pour le moment :
- j'ai créé un fichier backups.sh
- j'y ai mis :
#!/bin/bash
rsync -a /home/administrateur/<fichier> /home/administrateur/my_backups/
- j'ai ajouté le droit d'éxécution pour backups.sh avec la commande chmod u+x backups.sh
- j'ai modifié crontab avec crontab -e
- j'y ai mis :
*/5 * * * 1-5 /bin/backups.sh
- j'ai modifié la crontab dans etc
- j'y ai mis :
*/5 * * * 1-5 /bin/backups.sh
- Puis j'ai redémarré crond avec /etc/init.d/crond restart
Le test est concluant, la sauvegarde se fait toutes les 5 minutes
j'ai refais la même démarche pour la sauvegarde à distance en créant backups_srv.sh et en y inscrivant :
#!/bin/bash
rsync -a -e ssh /home/administrateur/my_backups/ root@titi:/home/administrateur/backups_rsync/
j'ai modifié les droits et la crontab pour executer la commande toutes les 5 minutes
mais là problème rien ne se passe, si vous avez des suggestions, pouvez vous m'en faire part s'il vous plait
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
26 janv. 2010 à 10:25
26 janv. 2010 à 10:25
Salut,
il faut vérifier plusieurs points :
d'abord je te conseille de faire un man rsync ou de te rendre ici : http://www.delafond.org/traducmanfr/man/man1/rsync.1.html afin de voir toutes les options que tu peux utiliser.
Par défaut rsync utilise le ssh, je ne suis pas sûr que le -e ssh soit utile dans ton cas. D'ailleurs l'option -e permet d'utiliser un autre shell.
Vérifie donc que tu ne bloques pas le ssh sur ta machine distante (firewall), et puis essaie sans -e ssh.
il faut vérifier plusieurs points :
d'abord je te conseille de faire un man rsync ou de te rendre ici : http://www.delafond.org/traducmanfr/man/man1/rsync.1.html afin de voir toutes les options que tu peux utiliser.
Par défaut rsync utilise le ssh, je ne suis pas sûr que le -e ssh soit utile dans ton cas. D'ailleurs l'option -e permet d'utiliser un autre shell.
Vérifie donc que tu ne bloques pas le ssh sur ta machine distante (firewall), et puis essaie sans -e ssh.
zurg_
Messages postés
134
Date d'inscription
jeudi 15 octobre 2009
Statut
Membre
Dernière intervention
15 avril 2010
27
26 janv. 2010 à 13:51
26 janv. 2010 à 13:51
OK, dans le cas où jerry=koko, je te réponds donc à toi.
As-tu testé les autres points ? (ouverture du port ssh ...?)
As-tu testé les autres points ? (ouverture du port ssh ...?)