Aller au contenu

[R


moz

Messages recommandés

  • Réponses 58
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Merci à "Diaoul"

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.rolleyes.gif

Sinon , merci "cricx" ..

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 blink.gif ?



#!/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 blink.gif ..., as-tu, STP, un exemple de syntaxe à y mettre dedans ?

Lien vers le commentaire
Partager sur d’autres sites

Merci à "Diaoul" si tu as un script "home made" je suis preneur, merci d'avance...pour étoffer ma culture newbie linuxienne.rolleyes.gif

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 blink.gif ?



#!/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 blink.gif ..., 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"

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

#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...

Lien vers le commentaire
Partager sur d’autres sites

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..
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 ......

Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

Merci à Diaoul pour tes scripts, que je décrypterai quand j'en aurai fini avec ma commande...

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é :angry: ...j'ai vérifié dans le dossier : " /volume1/netbackup/ovh"

Y -a-t-il encore quelque chose qui cloche ? :blink:(à par moi comme d'hab.)

Lien vers le commentaire
Partager sur d’autres sites

Merci..

Bon, cela ne marche pas ! Je me dis :unsure:, 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"

Lien vers le commentaire
Partager sur d’autres sites

....


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 :huh:

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Merci à patrickH et à Cricx...

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 :huh:
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 rolleyes.gif) 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...

Lien vers le commentaire
Partager sur d’autres sites

Merci à Diaoul et Cricx...

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 :angry:, 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... :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

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 sleep.gif...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 ? huh.gif ...

Merci encore cricx..

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.