Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

2.1. Rotation des archives NFS


Dans cette section, le script shell sera légèrement modifié pour implémenter un schéma de rotation grand-père-père-fils (mensuel-hebdomadaire-quotidien) :

• La rotation fera un Tous les jours sauvegarde du dimanche au vendredi.

• Le samedi un hebdomadaire la sauvegarde est effectuée en vous offrant quatre sauvegardes hebdomadaires par mois.

• Le mensuel la sauvegarde est effectuée le premier du mois en alternant deux sauvegardes mensuelles selon que le mois est pair ou impair.


Voici le nouveau script :


#! / Bin / bash

######################################

#

# Sauvegarde vers le script de montage NFS avec

# rotation grand-père-père-fils.

#

######################################


# Quoi sauvegarder.

backup_files="/home /var/spool/mail /etc /root /boot /opt"


# Où sauvegarder. dest="/mnt/sauvegarde"


# Configurer les variables pour le nom du fichier d'archive. jour=$(date +%A)

nom_hôte = $ (nom_hôte -s)


# Trouvez quelle semaine du mois 1-4 c'est. day_num=$(date +%-d)

if (( $ num_jour <= 7 )); then week_file="$hostname-week1.tgz"

elif (( $num_jour > 7 && $num_jour <= 14 )); then week_file="$hostname-week2.tgz"

elif (( $num_jour > 14 && $num_jour <= 21 )); then week_file="$hostname-week3.tgz"

elif (( $num_jour > 21 && $num_jour < 32 )); then week_file="$hostname-week4.tgz"

fi



# Trouvez si le mois est pair ou impair. num_mois=$(date +%m)

mois=$(expr $num_mois % 2) if [ $mois -eq 0 ]; alors

month_file="$hostname-month2.tgz"

d'autre


fi


month_file="$hostname-month1.tgz"


# Créer un nom de fichier d'archive. if [ $num_jour == 1 ]; then archive_file=$month_file

elif [ $jour != "Samedi" ]; then archive_file="$hostname-$day.tgz"

sinon archive_file=$week_file

fi


# Imprimer le message d'état de démarrage.

echo "Sauvegarde de $backup_files vers $dest/$archive_file" date

echo


# Sauvegarder les fichiers en utilisant tar.

tar czf $ dest / $ archive_file $ sauvegarde_files


# Imprimer le message d'état de fin. écho

echo date "Sauvegarde terminée"


# Longue liste de fichiers dans $dest pour vérifier la taille des fichiers. ls -lh $dest/


Le script peut être exécuté en utilisant les mêmes méthodes que dans Section 1.2, « Exécution du script » [p. 325].


Il est recommandé d'emporter les supports de sauvegarde hors site en cas de sinistre. Dans l'exemple de script shell, le support de sauvegarde est un autre serveur fournissant un partage NFS. Selon toute vraisemblance, déplacer le serveur NFS vers un autre emplacement ne serait pas pratique. Selon les vitesses de connexion, il peut être possible de copier le fichier d'archive via une liaison WAN vers un serveur situé à un autre emplacement.


Une autre option consiste à copier le fichier d'archive sur un disque dur externe qui peut ensuite être déplacé hors site. Étant donné que le prix des disques durs externes continue de baisser, il peut être rentable d'utiliser deux disques pour chaque niveau d'archivage. Cela vous permettrait d'avoir un lecteur externe connecté au serveur de sauvegarde et un à un autre emplacement.


Meilleur système d'exploitation Cloud Computing chez OnWorks :