Aller au contenu

Script Ftp


Messages recommandés

Bonjour,

J'ai un script qui récupère des données sur un ftp... voici le script (c'est plus parlant):

#!/bin/sh
#
# Synchronise deux répertoires en utilisant FTP
HOST="*******"
LOGIN="*******"
PASSWORD="*******"
LOCALDIR="/volume1/Films/TELECHARGEMENT/Nouveau"
REMOTEDIR="/"
EXCLUDED="*.*~"
if lftp -c "set ftp:list-options -a;
open ftp://$LOGIN:$PASSWORD@$HOST;
lcd $LOCALDIR;
cd $REMOTEDIR;
mirror --delete
--verbose
--exclude-glob $EXCLUDED";
then
sh /volume1/Films/TELECHARGEMENT/envoimail.sh;
else
echo "err"
fi
Et donc ce script est exécuter tous les jours a 12h avec un cron :
0 12 * * * * root sh /volume1/Films/TELECHARGEMENT/download.sh 1>> log.txt
Donc mon soucis est que je souhaite donc récupérer les logs de téléchargement et les mettre dans un fichier txt et me les envoyer... Alors cela fonctionne quand je lance la cmd a la main mais pas en cron ? enfin la commande de téléchargement fonctionne j'ai bien les données mais soit j'ai pas de mails ou alors un mail vide avec un fichier de log vide.
Une idée?
Merci :)
ps le script envoimail.sh fonctionne c'est juste une ligne de commande pour envoyer par mail le fichier de log.
Lien vers le commentaire
Partager sur d’autres sites

Je met quoi dedans je suis assez perdu la... :/

Ca dépend ou se trouve la commande "lftp" sur ton NAS (ce n'est pas une commande standard DSM)

Si c'est un package optware il y a de forte chances que ceci fonctionne:

PATH=/opt/bin:/bin:/usr/bin
Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Et donc ce script est exécuter tous les jours a 12h avec un cron :

0 12 * * * * root sh /volume1/Films/TELECHARGEMENT/download.sh 1>> log.txt

Tant qu'a faire, ajoute aussi la sortie d'erreur a ton log, ca sera mieux:

remplacer

1>> log.txt

par

>>log.txt 2>&1

**edit**

Autre chose, faudrait spécifier le chemin *complet* du fichier log, et le mieux est de faire ça *dans* le script en y ajoutant la ligne:

exec >> /tmp/ftp_mirror.log 2>&1
Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Autre chose, faudrait spécifier le chemin *complet* du fichier log, et le mieux est de faire ça *dans* le script en y ajoutant la ligne:

exec >> /tmp/ftp_mirror.log 2>&1

J'ai deja mis le chemin complet par contre je vois pas se que tu veux dire : "le mieux est de faire ça *dans* le script "

********************

Enfin a quel niveau je dois/peux faire cela (rediriger les sorties) dans le script.

Modifié par Damien447
Lien vers le commentaire
Partager sur d’autres sites

J'ai deja mis le chemin complet par contre je vois pas se que tu veux dire : "le mieux est de faire ça *dans* le script "

********************

Enfin a quel niveau je dois/peux faire cela (rediriger les sorties) dans le script.

en mettant la ligne "exec" que j'ai donnée dans le script (en début)

Lien vers le commentaire
Partager sur d’autres sites

Donc logiquement j'ai plus besoin de cela :

0 12 * * * * root sh /volume1/Films/TELECHARGEMENT/download.sh 1>> log.txt 2>$1

en effet

**EDIT**

petite astuce en prime, tel quel le script va *toujours* écrire dans le log.

Si tu veux que la sortie continue à aller à l'écran lorsque tu l'exécute "à la main" remplace:

exec >> /tmp/ftp_mirror.log 2>&1

par

[ -t 0 ] || exec >> /tmp/ftp_mirror.log 2>&1

Le test préalable ("-t 0") à pour effet que la redirection ("exec >>") soit effectuée *uniquement* lorsque l'entrée standard n'est pas un terminal (ce qui est justement le cas en cron mais pas en ligne de commande).

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Salut,

tu pourrais mettre en ligne le contenu du script permettant d'envoyer un mail en ligne de commande?

Jusqu'à il y a peu, j'utilisais "nail" via ipkg, mais ça ne marche plus depuis les récentes mises à jour de DSM. Je suis preneur de la syntaxe permettant de faire cela avec des commandes natives de DSM.

Merci d'avance

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.