Bonjour,
Je souhaiterais avoir votre avis sur un script qui doit servir en mode "cron" afin de faire des sauvegardes sur un réseau d'entreprise ayant au plus 10 machines...
Les machines clientes sont sous windows, et stockent leurs propres données... certaines sont sauvegardées à chaque horaire de pause sur le serveur, puis seront accessibles en lecture seule par un serveur samba, pour des restaurations rapides. Elles seront également graver sur un dvd+rw tous les soirs.
Le but de la manoeuvre est de ne pas avoir à se soucier d'autre chose que de mettre un dvd dans le graveur à temps (en gros, chaque matin... et on fait une rotation)
le script fonctionne, mais je préférerais qu'il soit blindé... donc tous les avis constructifs sont bons à prendre
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 #! /bin/bash ISO_MOUNTPATH="/mnt/graveur" ISO_REMOTEPATH="" USER_LIST="/home/sauvegarde/sauv_users.txt" if [ -r ${USER_LIST} ] then USERS=`cat ${USER_LIST}` else echo "Impossible de lire ${USER_LIST}" exit 1 fi USERS=`cat ${USER_LIST}` DIRS="" DIR_LIST="" for USERNAME in $USERS do ln -s -f "/home/$USERNAME" /home/links/ REMOTE_COMPUTER=`grep /mnt/$USERNAME /etc/fstab | awk -F ' ' '{print $1}' | awk -F '/' '{print $3}'` IS_ACTIVE=`nmblookup ${REMOTE_COMPUTER} | grep failed | wc -l` if [ ${IS_ACTIVE} -lt 1 ] then mount /mnt/$USERNAME else echo "Impossible de se connecter à ${REMOTE_COMPUTER}" continue fi DIR_LIST="/home/sauvegarde/${USERNAME}.dir" if [ -r ${DIR_LIST} ] then DIRS=`cat ${DIR_LIST}` else echo "Impossible de lire ${DIR_LIST}" continue fi for DIR in $DIRS do if [ -d /mnt/$USERNAME/$DIR ] then mkdir -p /home/$USERNAME/$DIR cd /home/$USERNAME/$DIR cp -r "/mnt/$USERNAME/$DIR/"* . else echo "Impossible de copier /mnt/$USERNAME/$DIR" continue fi done sync umount /mnt/$USERNAME sleep 5 done LABEL=`date +"%Y_%m_%d"` ISO_FILENAME="/home/sauvegarde/${LABEL}.iso" mkisofs -f -R -r -J -V "$LABEL" -o "${ISO_FILENAME}" /home/links REMOTE_COMPUTER=`grep ${ISO_MOUNTPATH} /etc/fstab | awk -F ' ' '{print $1}' | awk -F '/' '{print $3}'` IS_ACTIVE=`nmblookup ${REMOTE_COMPUTER} | grep failed | wc -l` if [ ${IS_ACTIVE} -lt 1 ] then mount ${ISO_MOUNTPATH} else echo "Impossible de se connecter à ${REMOTE_COMPUTER}" exit 1 fi cp "${ISO_FILENAME}" "${ISO_MOUNTPATH}/${ISO_REMOTEPATH}" sync touch "${ISO_MOUNTPATH}/${ISO_REMOTEPATH}/gravure_ok.txt" sync umount ${ISO_MOUNTPATH} #rm -f "${ISO_FILENAME}" rm /home/links/*
Partager