SHOW:
|
|
- or go back to the newest paste.
1 | - | #!/bin/bash |
1 | + | |
2 | #Par Rafael 'R@f' Keramidas | |
3 | #Backup complet d'un dossier vers un serveur FTP. Possibilité de supprimer les archives trop vielles. | |
4 | #Infos FTP | |
5 | FTPHOST="" | |
6 | FTPUSER="" | |
7 | FTPPASS="" | |
8 | FTPPORT="21" | |
9 | FTPDIR="backup/" | |
10 | #Dossier cible pour le backup | |
11 | BACKUPDIR="" | |
12 | #Date d'aujourd'hui | |
13 | NOW="$(date +"%d-%m-%Y")" | |
14 | #Nom du backup (date + extension .tar.gz) | |
15 | BACKUPNAME="$NOW.tar.gz" | |
16 | #Nombre de jours que les backups doivent être conservés | |
17 | D=14 | |
18 | DTODEL="$(date +%d-%m-%Y --date "$D days ago").tar.gz" | |
19 | ||
20 | #Si le dossier existe | |
21 | if [ -e $1 ] ; then | |
22 | echo "Lancement du script de backup FTP..." | |
23 | echo "Compression du dossier $BACKUPDIR ..." | |
24 | tar -cvzPf $BACKUPNAME $BACKUPDIR | |
25 | echo "Envoi du fichier sur le serveur : $FTPHOST" | |
26 | ftp -i -n $FTPHOST $FTPPORT <<END_SCRIPT | |
27 | quote USER $FTPUSER | |
28 | quote PASS $FTPPASS | |
29 | pwd | |
30 | cd $FTPDIR | |
31 | binary | |
32 | put $BACKUPNAME | |
33 | pwd | |
34 | rm $DTODEL | |
35 | quit | |
36 | END_SCRIPT | |
37 | echo "Fin de l'envoi du fichier sur le serveur FTP." | |
38 | echo "Suppression du fichier de sauvegarde." | |
39 | rm $BACKUPNAME | |
40 | echo "Sauvegarde terminée !" | |
41 | #Si le dossier n'existe pas | |
42 | else | |
43 | echo "Le dossier '$BACKUPDIR' est inexistant !" | |
44 | exit 1 | |
45 | fi |