Bonjour à tous,
Je suis novice en shell.
J'ai créé un script qui fait un backup de mon site hébergé vers mon poste local.
J'utilise lftp pour la copie. J'y ai inclus une encryption de mon répertoire downloadé.
Donc j'aimerais que les spécialistes du shell regardent mon code et le commentent. Qu'ils me disent ce qui ne va pas ou comment l'améliorer pour le rendre plus fiable, léger. Peut-être il manque des choses auxquelles je n'ai pas pensé.
Bref savoir si on peut l'améliorer, le peaufiner, le rendre parfait.
Un grand Merci pour votre aide.
Voici le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 #!/bin/bash # Download d'un répertoire sur un site FTP HOST="serveur hébergeur" USER="user" PASSWORD="pass" LOCAL="/home/backup" REMOTE="/remote" REMOTE1="/remote1" LOG="lftp_log.txt" LOG1="lftp_log1.txt" DATE=$(date +%d-%m-%Y--%H-%M) # Création du répertoire de backup s'il n'existe pas if [ ! -d "$LOCAL" ]; then mkdir -p $LOCAL fi # Download par lftp lftp -c "set ftp:list-options -a; open -u $USER,$PASSWORD $HOST; !mkdir -p ~/backup/$DATE; lcd ~/backup/$DATE; mirror -e -v --log=$LOG $REMOTE/ $LOCAL/$DATE/; mirror -e -v --log=$LOG1 $REMOTE1/ $LOCAL/$DATE/; quit" # Compression du répertoire cd ~/backup tar cfzv ${DATE}.tar.gz ~/backup/$DATE/ # Encrypte l'archive avec AEScrypt aescrypt -e -p pass ${DATE}.tar.gz # Suppression des fichiers non encryptés rm -Rf ${DATE} rm ${DATE}.tar.gz #Compte le nombre de fichiers et répertoires cd ~/backup/$DATE F_CNT=0 D_CNT=0 for FILE in *; do test -f "$FILE" && F_CNT=`expr $F_CNT + 1` test -d "$FILE" && D_CNT=`expr $D_CNT + 1` done echo "$F_CNT fichiers & $D_CNT répertoires dans le répertoire courant." # Mail de confirmation echo "Backup du site terminé. Tout est sous controle. Il y a $F_CNT fichiers & $D_CNT répertoires dans le répertoire courant." | mail -s "Backup" mail@mail.com echo Backup terminé exit 0
Partager