Diaoul Posté(e) le 6 avril 2011 Posté(e) le 6 avril 2011 Le 4/6/2011 à 7:25 PM, cricx a dit : Si 0 Citer
moz Posté(e) le 7 avril 2011 Auteur Posté(e) le 7 avril 2011 Merci à "Diaoul" Citation J'utilise aussi la solution avec lftp avec un script home made si tu as un script "home made" je suis preneur, merci d'avance...pour étoffer ma culture newbie linuxienne. Sinon , merci "cricx" .. Le 4/6/2011 à 7:25 PM, cricx a dit : Si ça marche comme ça on sait que ton serveur est accessible, que tu as le droit d'écriture, et que lftp fonctionne. Donc le script doit fonctionner s'il est écrit correctement. Mais il n'y a pas besoin de script pour ce que tu veux faire. Tu peux mettre directement la commande dans la crontab. Et pour sauvegarder ton serveur, il vaut mieux mget ou mirror, ou un simple wget. Ceci dit, le plus efficace serait rsync. Tu dois bien avoir rsync ou ssh sur ton serveur, non? --> J'ai un accès ssh à mon serveur, mais rsync, je ne connais pas...en fait il faut avoir un accès ssh , puis ensuite le package rsync installé dessus ? "Diaoul" me dit que chez ovh, pas de rsync, alors comment puis-je le vérifier ? --> Je vais essayer de procéder par ordre, en "1" bien que le script de soit pas nécessaire, le voici, je te remercie de me dire si quelque chose "cloche" (pour comprendre), à part moi comme d'habitude ? #!/bin/sh # configuration fichier de log ficLog=/volume1/scripts/logOvh.txt # configuration : ftp / user / pass servFTP=ftp.mondomaine.com userFTP=xxxxx-xxxxx passFTP=xxxxxx # configuration repFTP=/www/.htaccess repLocal=/volume1/netbackup/ovh/ ###################################################################################### # debut shell echo "+-- Deb Sauvegarde $(date) ---" >> ${ficLog} # commande de copie ftp vers local /opt/bin/lftp ftp://${userFTP}:${passFTP}@${servFTP} -e "get ${1} ${repFTP} ${repLocal} ; quit" >> ${ficLog} # résultat de la commande - 0 : ok res=$? echo "Résultat : "${res} >> ${ficLog} # fin shell echo "--- Fin Sauvegarde $(date) ---" >> ${ficLog} --> En "2", tu m'indiques pouvoir utiliser la commande directement dans crontab.. ServeurMultimed> lftp ftp://dexxxxxxx:xxxxxxxx@2x3.xxx.xx.xxx -e "get /www/.htaccess -o /volume1/netbackup/ovh; quit" Alors ensuite j'ouvre "contrab" avec vi et puis ..., as-tu, STP, un exemple de syntaxe à y mettre dedans ? 0 Citer
cricx Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Le 4/7/2011 à 6:39 AM, moz a dit : Merci à "Diaoul" si tu as un script "home made" je suis preneur, merci d'avance...pour étoffer ma culture newbie linuxienne. Sinon , merci "cricx" .. --> J'ai un accès ssh à mon serveur, mais rsync, je ne connais pas...en fait il faut avoir un accès ssh , puis ensuite le package rsync installé dessus ? "Diaoul" me dit que chez ovh, pas de rsync, alors comment puis-je le vérifier ? --> Je vais essayer de procéder par ordre, en "1" bien que le script de soit pas nécessaire, le voici, je te remercie de me dire si quelque chose "cloche" (pour comprendre), à part moi comme d'habitude ? #!/bin/sh # configuration fichier de log ficLog=/volume1/scripts/logOvh.txt # configuration : ftp / user / pass servFTP=ftp.mondomaine.com userFTP=xxxxx-xxxxx passFTP=xxxxxx # configuration repFTP=/www/.htaccess repLocal=/volume1/netbackup/ovh/ ###################################################################################### # debut shell echo "+-- Deb Sauvegarde $(date) ---" >> ${ficLog} # commande de copie ftp vers local /opt/bin/lftp ftp://${userFTP}:${passFTP}@${servFTP} -e "get ${1} ${repFTP} ${repLocal} ; quit" >> ${ficLog} # résultat de la commande - 0 : ok res=$? echo "Résultat : "${res} >> ${ficLog} # fin shell echo "--- Fin Sauvegarde $(date) ---" >> ${ficLog} --> En "2", tu m'indiques pouvoir utiliser la commande directement dans crontab.. ServeurMultimed> lftp ftp://dexxxxxxx:xxxxxxxx@2x3.xxx.xx.xxx -e "get /www/.htaccess -o /volume1/netbackup/ovh; quit" Alors ensuite j'ouvre "contrab" avec vi et puis ..., as-tu, STP, un exemple de syntaxe à y mettre dedans ? #1 heure du matin le 23 juillet 0 1 23 7 * root lftp ftp://dexxxxxxx:xxxxxxxx@2x3.xxx.xx.xxx -e "get /www/.htaccess -o /volume1/netbackup/ovh; quit" si tu veux une autre date tu la mets en respectant la syntaxe minute heure jour mois joursemaine séparés par une tabulation, * sigifiant tous exemple : tous les jours à 10 h du matin : 0 10 * * * root commande tous les lundis à midi : 0 12 * * 1 root commande The time and date fields are: field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) A field may be an asterisk (*), which always stands for "first-last". Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an "hours" entry specifies execution at hours 8, 9, 10 and 11. Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: "1,2,5,9", "0-4,8-12". Step values can be used in conjunction with ranges. Following a range with "<number>" specifies skips of the number's value through the range. For example, "0-23/2" can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is "0,2,4,6,8,10,12,14,16,18,20,22"). Steps are also permitted after an asterisk, so if you want to say "every two hours", just use "*/2". Names can also be used for the "month" and "day of week" fields. Use the first three letters of the particular day or month (case doesn't matter). Ranges or lists of names are not allowed. The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline charac‐ ters, and all data after the first % will be sent to the command as standard input. mais je verrais mieux un mirror, le dimanche à 23 h : 0 23 * * 0 root lftp ftp://dexxxxxxx:xxxxxxxx@2x3.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" 0 Citer
Diaoul Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Je te passe mon script pour que tu puisses voir dans la journ 0 Citer
cricx Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Le 4/7/2011 à 7:16 AM, Diaoul a dit : Je te passe mon script pour que tu puisses voir dans la journée. C'est du mirror pour backuper ovh vers chez moi. J'ai aussi un autre qui upload des répertoires automatiquement vers http://syno.diaoul.fr/ pour publication. Sent from my Desire HD fais-en profiter les autres ! sinon il y a ce post : et un script basé sur lftp 0 Citer
moz Posté(e) le 7 avril 2011 Auteur Posté(e) le 7 avril 2011 Citation Je te passe mon script pour que tu puisses voir dans la journée. C'est du mirror pour backuper ovh vers chez moi. J'ai aussi un autre qui upload des répertoires automatiquement vers http://syno.diaoul.fr/ pour publication. Merci..Diaoul mais de quelle manière ? Le 4/7/2011 à 6:56 AM, cricx a dit : #1 heure du matin le 23 juillet 0 1 23 7 * root lftp ftp://dexxxxxxx:xxxx...@2x3.xxx.xx.xxx -e "get /www/.htaccess -o /volume1/netbackup/ovh; quit" si tu veux une autre date tu la mets en respectant la syntaxe minute heure jour mois joursemaine séparés par une tabulation, * sigifiant tous exemple : tous les jours à 10 h du matin : 0 10 * * * root commande tous les lundis à midi : 0 12 * * 1 root commande mais je verrais mieux un mirror, le dimanche à 23 h : 0 23 * * 0 root lftp ftp://dexxxxxxx:xxxx...@2x3.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" Merci...bon avant de revenir sur le script (j'ai pas eu ton commentaire ) .. ...J'ai suivi ta recommandation, j'ai lancé une commande pour 14h avec la syntaxe lftp ftp://dexxxxxxx:xxxx...@2x3.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" , mais j'ai l'impression que rien ne se passe ...Comment savoir si la tàche s'execute en ce moment correctement ? J'ai tapé : ServeurMultimed> crontab -l -ash: crontab: not found EDIT : le contenu de crontab ! #minute hour mday month wday who command 0 19 * * 5 root /usr/syno/bin/synolocalbkp -a "sauvBoitier" 0 14 * * * root lftp ftp://xxxxxxx-snapx:xxxxxxx@xxx.xxx.33.xxx -e "mirror /www /volume1/netbackup/ovh; quit" Encore merci... 0 Citer
PatrickH Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Il faut mettre le chemin complet pour LFTP dans ta deuxi 0 Citer
cricx Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Le 4/7/2011 à 12:54 PM, PatrickH a dit : Il faut mettre le chemin complet pour LFTP dans ta deuxi 0 Citer
moz Posté(e) le 7 avril 2011 Auteur Posté(e) le 7 avril 2011 Merci cricx pour voir si la commande est en cours d'exécution, un ps|grep lftp te le dit[/size][/font][/color] Ok j'essaierai si le reste suit... Merci PatrickH.. Le 4/7/2011 à 12:54 PM, PatrickH a dit : Il faut mettre le chemin complet pour LFTP dans ta deuxième ligne du genre /opt/bin/lftp ftp.//...etc... Car comme répété plusieurs fois "cron" va exécuter les programes dans son propre environnement ou il n'a pas le même path que dans ton shell dans lequel tu as fait le test Patrick EDIT : ok je teste et tiens au courant..tâche lancée à 21h ce soir EDIT 2 : bon a priori avec cela .. #minute hour mday month wday who command 0 19 * * 5 root /usr/syno/bin/synolocalbkp -a "sauvBoitier" 0 21 * * * root /opt/bin lftp ftp://dxxxxxxxx-xxxxx:xxxxxxx@xxx.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" cela ne marche pas il est 21h19 j'ai rien de copier ...... 0 Citer
PatrickH Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 NON c'est pas du tout ca ! pour trouver le chemin de LFTP il te faut taper which lftp Patrick 0 Citer
cricx Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Le 4/7/2011 à 6:34 PM, moz a dit : Merci cricx pour voir si la commande est en cours d'exécution, un ps|grep lftp te le dit[/size][/font][/color] Ok j'essaierai si le reste suit... Merci PatrickH.. EDIT : ok je teste et tiens au courant..tâche lancée à 21h ce soir EDIT 2 : bon a priori avec cela .. #minute hour mday month wday who command 0 19 * * 5 root /usr/syno/bin/synolocalbkp -a "sauvBoitier" 0 21 * * * root /opt/bin lftp ftp://dxxxxxxxx-xxxxx:xxxxxxx@xxx.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" cela ne marche pas il est 21h19 j'ai rien de copier ...... tu as fait une erreur, c'est /opt/bin/lftp donc ta ligne doit être 0 21 * * * root /opt/bin/lftp ftp://dxxxxxxxx-xxxxx:xxxxxxx@xxx.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" et n'oublie pas de relancer cron ! 0 Citer
Diaoul Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Désolé pour le retard, voici ma config pour uploader mes SPK sur le web : lftp.sh #!/bin/sh LOGFILE=/qqpart/scripts/lftp.log LFTPEXE=/opt/bin/lftp LFTPFILE=/qqpart/scripts/syno.lftp echo "`date` : Starting mirroring" >> $LOGFILE $LFTPEXE -f $LFTPFILE >> $LOGFILE 2>&1 echo "`date` : Mirroring finished" >> $LOGFILE syno.lftp open ftp://user:pwd@ftp.mondomaine.tld:/syno/www mirror --continue --reverse --delete --parallel=3 --exclude ^scripts.* /qqpart/Syno/ . exit /etc/crontab 0 1 * * * root /bin/sh /qqpart/scripts/lftp.sh Pour le mirroring dans le bon sens (sauvegarde de mon serveur web sur mon NAS) : diaoul.fr.sh #!/bin/sh LOGFILE="/qqpart/scripts/diaoul.fr.log" LFTPEXE=/opt/bin/lftp LFTPFILE="/qqpart/scripts/diaoul.fr.lftp" DEST="/qqpart/diaoul.fr/" echo "`date` : Starting mirroring" >> "$LOGFILE" $LFTPEXE -f "$LFTPFILE" >> "$LOGFILE" 2>&1 chown -R Moi:users "$DEST" chmod -R 777 "$DEST" echo "`date` : Mirroring finished" >> "$LOGFILE" diaoul.fr.lftp open ftp://user:pwd@ftp.mondomaine.tld mirror --continue --parallel=3 --no-perms . /qqpart/diaoul.fr/ exit /etc/crontab 0 2 * * * root /bin/sh /qqpart/scripts/diaoul.fr.sh Je ne sais pas si c'est la meilleur syntaxe pour ce que ça fait mais en tout cas ça marche... Voilà, si ça peut aider tant mieux 0 Citer
moz Posté(e) le 7 avril 2011 Auteur Posté(e) le 7 avril 2011 Merci à Diaoul pour tes scripts, que je décrypterai quand j'en aurai fini avec ma commande... Le 4/7/2011 à 8:09 PM, cricx a dit : tu as fait une erreur, c'est /opt/bin/lftp donc ta ligne doit être 0 21 * * * root /opt/bin/lftp ftp://dxxxxxxxx-xxxxx:xxxxxxx@xxx.xxx.xx.xxx -e "mirror /www /volume1/netbackup/ovh; quit" et n'oublie pas de relancer cron ! Merci à PatrickH et cricx --> Voici crontab : #minute hour mday month wday who command 0 19 * * 5 root /usr/syno/bin/synolocalbkp -a "sauvBoitier" 15 23 * * * root /opt/bin/lftp ftp://xxxxxxxx:Txxxxxxxx@xxx.xxx.xx.xxx -e "mirror /volume1/netbackup/ovh; quit" --> J'ai relance cron comme ceci : /usr/syno/etc.defaults/rc.d/S04crond.sh stop /usr/syno/etc.defaults/rc.d/S04crond.sh start Je n'ai rien téléchargé, je veux dire cela n'a rien donné ...j'ai vérifié dans le dossier : " /volume1/netbackup/ovh" Y -a-t-il encore quelque chose qui cloche ? (à par moi comme d'hab.) 0 Citer
cricx Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Le 4/7/2011 à 9:28 PM, moz a dit : Merci 0 Citer
moz Posté(e) le 8 avril 2011 Auteur Posté(e) le 8 avril 2011 Le 4/8/2011 à 5:09 AM, cricx a dit : oui, tu as juste oubli 0 Citer
cricx Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Le 4/8/2011 à 6:31 AM, moz a dit : Merci.. Bon, cela ne marche pas ! Je me dis , cela ne vient pas de crontab, cela vient de la commande donc j'ai tapé manuellement la commande : ServeurMultimed> lftp ftp://ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www/volume1/netbackup/ovh; quit" mirror: Access failed: 550 Failed to change directory. (/www/volume1/netbackup/ovh) 1 error detected ou sans les "www" pour voir .. ServeurMultimed> lftp ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /volume1/netbackup/ovh; quit" mirror: Access failed: 550 Failed to change directory. (/volume1/netbackup/ovh) 1 error detected Mystère ? tu as des problèmes de vue ? il manque l'espace après www, et tu as 2 fois ftp:// lftp ftp://ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www /volume1/netbackup/ovh; quit" la syntaxe est lftp protocole://user:motdepasse@hôte -e "mirror repertoiresource repertoirecible;quit" 0 Citer
PatrickH Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Le 4/8/2011 à 6:31 AM, moz a dit : .... ServeurMultimed> lftp ftp://ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www/volume1/netbackup/ovh; quit" mirror: Access failed: 550 Failed to change directory. (/www/volume1/netbackup/ovh) 1 error detected ServeurMultimed> lftp ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www /volume1/netbackup/ovh; quit" En fait il faut un "espace" entre /www (répertoire distant) et /volume1/etc... (répertoire local) et enlever le ftp:// en trop au début Patrick 0 Citer
moz Posté(e) le 8 avril 2011 Auteur Posté(e) le 8 avril 2011 Merci à patrickH et à Cricx... Le 4/8/2011 à 7:02 AM, cricx et patrickH a dit : tu as des problèmes de vue ? il manque l'espace après www, et tu as 2 fois ftp:// lftp ftp://ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www /volume1/netbackup/ovh; quit" la syntaxe est lftp protocole://user:motdepasse@hôte -e "mirror repertoiresource repertoirecible;quit" En fait il faut un "espace" entre /www (répertoire distant) et /volume1/etc... (répertoire local) et enlever le ftp:// en trop au début Non c'est une erreur de copier coller le 2xftp, excusez.. Sinon j'ai retapé cette commande : ServeurMultimed> lftp ftp://xxxxxxxv-0000:xxxxxx@xxx.xxx.xxxx -e "mirror /www /volume1/netbackup/ovh; quit" La commande fonctionne (je ne sais pas finalement pourquoi cela beugué précédemment ,mais bon..) , ouf ! bon maintenant j'ai 3 interrogations : --> "Mirror" (vu qu'au début j'étais parti avec "get") veut bien dire "copie depuis le "serveur distant" vers le" local" les fichiers, et lors d'un nouveau lancement, il ne copiera que les fichiers manquants dans le "local" depuis le "distant", c'est cela ? --> Je voudrais arrêter maintenant le processus de copie, comment faire ? (car je souhaite la mettre en tâche "crontab", enfin ) Comment l'arrêter proprement ? --> Pour le crontab, prochaine étape, je pense, puisque la commande fonctionne, qu'il y a un bug au niveau de l'horloge quelque part, je veux dire que l'heure demandée dans le cron n'est celle du serveur ailleurs, enfin, j'essaie de comprendre... Merci... 0 Citer
cricx Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Le 4/8/2011 à 9:58 AM, moz a dit : Merci 0 Citer
moz Posté(e) le 8 avril 2011 Auteur Posté(e) le 8 avril 2011 Merci à Diaoul et Cricx... Le 4/8/2011 à 1:18 PM, Diaoul a dit : 1) Oui 2) Pour arrêter la copie, CTRL+C dans le terminal vu que tu as lancé la commande dans le terminal. 3) Il n'y a pas de bug avec crontab, soit la syntaxe est mauvaise soit tu ne l'as pas relancé. N'oublie pas le chemin complet pour crontab : /opt/bin/lftp Bon cela ne marche pas avec crontab , mis à 17h 00, j'ai bien mis le chemin complet "/opt/bin/lftp ftp:etc..." #minute hour mday month wday who command 0 19 * * 5 root /usr/syno/bin/synolocalbkp -a "sauvBoitier" 00 17 * * * root /opt/bin/lftp ftp://ETC... -e "mirror /www /volume1/netbackup/ovh; quit" Ensuite en console, pour être sûr de la mise à jour, je tape : /usr/syno/etc.defaults/rc.d/S04crond.sh stop /usr/syno/etc.defaults/rc.d/S04crond.sh start C'est forcément que crontab ne s'eclenche pas à l'heure voulue, j'ai toujours essayé à 5 minutes d'intervalle, c'est pour cela que je parle plus haut d'horloge... J'ai fait un test, avec la même commande en console : ok cela marche.. Lorsque je verifie depuis l'interface web du syno l'heure affichée j'ai 30 minutes d'écart, c'est à dire que le fichier téléchargé à 17h45 depuis ssh, est enregistré à 18h15 au même moment (la date est bonne, c'est au moins çà !). 1/ - Comment peut-on régler l'heure sur le syno ? 2/ - Comment afficher l'heure du syno. ? Merci... 0 Citer
cricx Posté(e) le 9 avril 2011 Posté(e) le 9 avril 2011 Le 4/8/2011 à 3:56 PM, moz a dit : Merci 0 Citer
moz Posté(e) le 9 avril 2011 Auteur Posté(e) le 9 avril 2011 Le 4/9/2011 à 5:39 AM, cricx a dit : pour afficher l'heure : taper date dans une console. Pour mettre à l'heure : taper ntpdate pool.ntp.org. tu as du mal configurer la mise à l'heure de ton syno. MERCI.... Bon je vais y arrivé..si si, j'y crois ...ne voyant toujours rien après voir mis à l'heure le syno (nickel, ça marche) , j'ai tapé : ServeurMultimed> ps|grep lftp 9602 root 308 S /bin/sh -c /opt/bin/lftp ftp://dxxxx-xxxx0:xxxxxx@xxxxxx. 9603 root 16164 R /opt/bin/lftp ftp://dxxxx-xxxx0:xxxxxx@xxxxxx. et en effet, il m'enregistre les fichiers (après avoir vérifié dans l'interface web par hasard) dans /volume1/ ! ..donc pas au bon endroit (/volume1/netbackup/ovh) 1 / Le fait qui me copie mais pas au bon endroit, cela vient du chemin ? j'ai mis à chaque fois un espace avant le "/" comme m'avait conseillé patrickH , donc il en faut mais pas partout ? ..."mirror /www /volume1 /netbackup /ovh; quit" mais avant j'essaie d'arrêter le processus avant de modifier le chemin... ServeurMultimed> killall ltfp killall: ltfp: no process killed En effet, cela n'arrête rien, le processus est toujours en cours en re-vérifiant par la commande " ps|grep lftp " 2 / Comment fait-on pour arrêter la commande alors ? ... Merci encore cricx.. 0 Citer
cricx Posté(e) le 9 avril 2011 Posté(e) le 9 avril 2011 Le 4/9/2011 à 1:53 PM, moz a dit : MERCI.... Bon je vais y arriv 0 Citer
Diaoul Posté(e) le 9 avril 2011 Posté(e) le 9 avril 2011 Le 4/9/2011 à 4:30 PM, cricx a dit : Pas d'espace dans le chemin, uniquement entre les arguments de la commande! OFC, c'est un chemin ! 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.