web-dev-qa-db-fra.com

automatiser le transfert de fichiers tar sur FTP

Chaque jour, j'ai un script qui crée les fichiers .tar du répertoire aparticualr. Une fois par jour, j'aimerais transférer le nouveau fichier tar créé ce jour-là sur un serveur distant via FTP. Je voudrais rendre ce processus automatisé.

Quelle serait la meilleure façon de s'y prendre? Peut-on écrire un script bash et le programmer avec cron? Existe-t-il un outil/application/logiciel capable de le faire?

Merci beaucoup!

2
agmb

Habituellement, ce genre de choses s’effectue mieux en ligne de commande.

placez l'exemple ci-dessous dans un nouveau fichier sous /etc/cron.daily/ et chmod + x nom_fichier, pour qu'il soit exécutable et qu'il puisse être exécuté automatiquement au quotidien.

lftp -e 'put /home/path/yourfile.tar; bye' -u user,password ftp.theserver.com

la commande -e vous permet d'entrer une série de commandes. Les commandes à exécuter sont déclarées entre les signes '', dans cet exemple, deux commandes sont exécutées successivement, chaque commande étant séparée par le symbole; signe. La première commande télécharge un fichier, la seconde se déconnecte du serveur FTP une fois le téléchargement terminé.

Si vous souhaitez ajouter une commande supplémentaire, par exemple pour parcourir un autre dossier, ajoutez simplement la commande de changement de répertoire "cd folder1/folder2;" Dans notre exemple, la nouvelle commande ressemblerait à ceci:

lftp -e 'cd folder1/folder2; put /home/path/yourfile.tar; bye' -u user,password ftp.theserver.com

lftp peut prendre les fichiers de script en tant qu'entrée, ce qui vous permet de créer des fichiers séparés avec des commandes à exécuter lors de l'utilisation de l'option -f si vous souhaitez que les commandes exécutent lftp dans un fichier spécifique.

si vous voulez voir quelles commandes sont disponibles this peut être une aide pour les commandes ftp génériques. Les commandes spécifiques à lftp se trouvent dans le page de manuel de lftp

2
tomodachi