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/09/2018, à 21:29

ijack30

[Résolu] Synchronisation entre 2 serveurs

Bonjour

J'ai créé une relation entre 2 serveurs Ubuntu 18.04.1
tout fonctionne parfaitement lorsque je fais le tout manuellement. Une copie de fichiers d'un serveur vers l'autre ne demande ni l'utilisateur, ni le mot de passe.
J'ai créé un script pour transférer automatiquement les fichiers.
Le script s’exécute très bien à en lire les logs, mais aucun fichier n'est transféré.

Voici mon script

#!/bin/bash
#
LOGFILE=/usr/bin/scripts/sync_log.log
rsync -avz --exclude-from '/usr/bin/scripts/exclude.txt' --no-perms -o --omit-dir-times -e "ssh -i $HOME/.ssh/id_rsa" /usr/files/ user@IPSERVER:/usr/backup/files/
log (){
#
        message="$@"
        echo "files transfer completed `date`" >>$LOGFILE
}
log ""

Le cron exécute le script, mais comme je le précisais, aucun fichier transféré. Le user et le user de login avec lequel manuellement j'exécute le script, avec sudo. Serait-ce la raison? cron utilise root? les 2 serveurs ont été montés exactement pareil, et le seul user créé à l'installation du serveur est le même pour les 2. Même mot de passe aussi.
J'ai fait programmé CRON avec sudo crontab -e Ca devrait lui donner tous les droits pourtant ?!


Merci de m'éclairer.

Dernière modification par ijack30 (Le 11/09/2018, à 19:46)

Hors ligne

#2 Le 10/09/2018, à 22:12

jean-luc5629

Re : [Résolu] Synchronisation entre 2 serveurs

Bonsoir,

Tous mes scripts lancés par cron je les commence comme ceci:

#!/bin/bash
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
./...le reste du script../...

Et plus de soucis.

Dernière modification par jean-luc5629 (Le 10/09/2018, à 22:13)

Hors ligne

#3 Le 11/09/2018, à 14:20

ijack30

Re : [Résolu] Synchronisation entre 2 serveurs

Merci pour ta réponse Jean-Luc, malheureusement dans mon cas, cela n'a rien changé.
J'ai ajouté ta ligne, le script c'est bien exécuté, mais encore une fois aucun fichier n'a été transféré.
c'est comme si cron n'arrive pas à lire le id_rsa, ou je ne sais quoi.

D'autres idées seraient les bienvenues.

Bonne journée à tous

Hors ligne

#4 Le 11/09/2018, à 14:51

jean-luc5629

Re : [Résolu] Synchronisation entre 2 serveurs

Salut,

Sur mon dédié pour envoyer vers mon domicile le contenu d'un dossier, j'ai mis cette ligne dans mon script:

rsync -avLP --inplace --exclude-from $excludir --log-file=/home/$i/tmp/rsync.lock --rsh="ssh -p$port" $sce  $dst

Par contre, ayant une connexion par clefs exclusivement, je n'ai pas besoin d'indiquer la clef ni son chemin.

Hors ligne

#5 Le 11/09/2018, à 17:08

ijack30

Re : [Résolu] Synchronisation entre 2 serveurs

dans mon cron, j'ai rajouté à la fin de ma ligne appelant le script > cron.output.
Cela a bien créé un fichier cron.output, mais il est complétement vide !!
sad
Je ne comprends pas pourquoi cela ne fonctionne pas!

Hors ligne

#6 Le 11/09/2018, à 17:56

Hizoka

Re : [Résolu] Synchronisation entre 2 serveurs

Salut,

j'y crois pas mais, essaie de mettre ta commande dans un script bash et execute ce fichier depuis cron pour voir...

ta connexion se fait par clé ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 11/09/2018, à 18:41

ijack30

Re : [Résolu] Synchronisation entre 2 serveurs

j'ai trouvé !! lol:D

mon script contient cette commande
rsync -avz --exclude-from '/usr/bin/scripts/exclude.txt' --no-perms -o --omit-dir-times -e "ssh -i $HOME/.ssh/id_rsa" /usr/files/ user@IPSERVER:/usr/backup/files/
log (){

je l’exécute manuellement tout va bien, je la mets dans CRON avec sudo crontab, et ca ne fonctionne pas. Aussi je me suis posé la question sur $HOME/.ssh
Pour cron et pour mon user de login, $HOME n'est pas pareil

J'ai remplacé par /home/"username"/.ssd et ca fonctionne nickel !

Dernière modification par ijack30 (Le 11/09/2018, à 19:45)

Hors ligne

#8 Le 11/09/2018, à 19:32

Hizoka

Re : [Résolu] Synchronisation entre 2 serveurs

en effet en root c'est /root alors qu'avec un user normal c'est /home/usr/.

Comme le montre très bien la variable ${HOME} wink

Pense à ajouter un [Résolu] dans ton titre.

Dernière modification par Hizoka (Le 11/09/2018, à 19:32)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne