Bonjour à tous,
Je dois faire un shell script pour uploader par FTP des fichiers sur un share NAS. Voici le code
Code :
#!/bin/sh
find . -name backup.nightly.\* -mtime 0 > output.txt
while read line
do
filename="$line"
hostname="XXX.XXX.XXX.XXX"
username="username"
password="password"
ftp -in $hostname <<EOF
quote USER $username
quote PASS $password
type binary
cd Folder
put $filename
quit
EOF
done <output.txt
rm -f output.txt
En gros ce que le script fait c'est de prendre sur un répertoire les fichiers qui ont été modifié dans la même journée, les mettre dans un fichier output.txt. Ensuite, il lit chaque ligne du fichier output et fait un loop ftp pour les transférer au répertoire partagé sur le NAS. Lorsqu'il a passé à travers toutes les entrées du fichier output.txt, il supprime ce fichier. Ce script fonctionne très bien lorsque je l'appelle en utilisant ./ mais si je le mets dans le Contab, ça ne fonctionne pas. En fait, oui ça fonctionne car je reçois un email de confirmation avec le contenu du fichier output.txt mais le transfert ne se fait pas. Est-ce qu'il y a quelque chose que j'oublie?
Ha j'oubliais, voici l'entrée dans le crontab.
Code :
# FTP backup to NAS Share
MAILTO:"john.doe@domain.com"
0 6 * * * /folder/folder/script.sh
_________________
Some persons are like slinky
They don't really have a purpose but they bring a smile on our face when we push them down the stairs.
Spécialiste en infrastructure / virtualisation. Pour plus de détails:
http://www.fbsc.ca