Backup sur disque externe en cron Unix

devaudp

Membre enregistré
16 Juin 2004
4
0
55
school.fri-tic.ch
Le script ci-dessous vous aidera à mettre en place un backup d'un disque sur un disque externe durant la nuit par exemple ...

#!/bin/sh
# **********************************************************************
# Date: 17.06.2004, Philippe Devaud
# Backup sfritic01, changement de principe
# Utilisation des images disques pour le disque externe
# **********************************************************************
# Variables du script
#
# vCheminReport: chemin ou les resultats du script sont stockes
# vImageName : nom de l'image disque qui est fabrique
# vDiskTarget : nom du volume du disque cible ou doit etre stockee l'image
# vDiskSource : nom du disque source qui deviendra une image
# vDiskSourceFs: nom du disque source sous forme de fileSystem

vCheminReport=/private/var/root/Desktop/CronsDMZfritic/ExternalBackup/Report
vImageName=data2_backup
vDiskSource=/Volumes/Data2
vDiskTarget=/Volumes/ExtBackup


echo "***********************************" >> $vCheminReport/report.txt
date >> $vCheminReport/report.txt
echo "Start External backup" >> $vCheminReport/report.txt
#
#test si le volume cible est present
#
if [ -d $vDiskTarget ]; then
rm /Volumes/ExtBackup/$vImageName.dmg
df -l >> $vCheminReport/report.txt
ls -lah /Volumes/ExtBackup/ >> $vCheminReport/report.txt
#Trouve le nom du fileSystem a partir du volume
vDiskSourceFs=$(df -l | grep $vDiskSource | awk '{ print $1 }')
#echo $vDiskSourceFs
# Fabrication de l'image disque
# Unmout du disque, image et mount
diskutil unmount $vDiskSourceFs
hdiutil convert $vDiskSourceFs -format UDRO -o $vDiskTarget/$vImageName
diskutil mount $vDiskSourceFs
df -l >> $vCheminReport/report.txt
ls -lah /Volumes/ExtBackup/ >> $vCheminReport/report.txt
else
echo "!!!" >> $vCheminReport/report.txt
echo "!!! Error External disk not present or bad mounted" >> $vCheminReport/report.txt
echo "!!!" >> $vCheminReport/report.txt
fi
#
date >> $vCheminReport/report.txt
echo "Stop External backup" >> $vCheminReport/report.txt
echo "***********************************" >> $vCheminReport/report.txt