Script Bash Ftp backup cPanel
Bonjour à tous,
Je débute un peu en bash même si je connais quelques commandes linux.
Je cherche à faire quelque chose d'à priori très simple mais je butte sur plusieurs points.
Il s'agit d'un script qui sera appelé via un cron
Ce que je cherche à faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#!/bin/bash
date="$(date +%F)"
ftp_host=xx.xx.xx.xx
ftp_user=xxxxx
ftp_pass=xxxxx
local_folder=/volume1/Sauvegardes
email_notif=mon@adresse.com
purge_days=8
# On se place dans le folder local de destination
cd $local_folder
# On se connecte au ftp distant
# On liste les fichiers backup-xxxx.tar.gz à la racine
# On boucle sur les résultats
# On télécharge le fichier et on le place dans le dossier $local_folder
# On le supprime du ftp distant
# On ferme la connexion ftp
# On supprime les fichiers backup-xxx.tar.gz plus vieux de $purge_days du dossier $local_folder
# On envoie un email de notification à $email_notif avec le log des opérations |
Mes questions :
1. Comment lister les fichiers ftp racine et ne garder que les .tar.gz ?
2. Ensuite si je boucle sur chaque fichier trouvé, je dois le récupérer en ftp ou en wget ?
Car je lis que c'est beaucoup plus rapide avec wget qu'avec ftp.
En plus si je ne me trompe pas je peux récupérer que les fichiers qui m’intéresse (mes backup en tar.gz) via .
Code:
1 2
|
wget -b -A.tar.gz ftp://$ftp_user:$ftp_pass@$ftp_host |
Mais je dois me reconnecter avec les id via wget... là je suis perdu
3. Auriez-vous un modèle propre de ce genre de loop for pour que je puisse supprimer "sereinement" les fichiers distants si et seulement si ils ont été correctement backupé en local.
4. Si quelqu'un a un lien à me communiquer où je puisse trouver ce genre de script et l'adapter à mes besoins je suis preneur car je n'ai pas pour vocation à développer du bash tous les jours ;-)
Merci pour votre aide