:: Apinc :: Archilinux :: Fro4nix :: GeexdB :: Gnuworld-fr :: Knoppix-fr :: Lea-linux :: Linucie :: Octoz :: Les pingunautes ::
Dernière mise à jour de la page le 06 novembre 2006.
Auteurs: Freddec | ebdomino
Le script expliqué dans ce tutoriel n'est pas le résultat de mon travail, mais celui d' ebdomino, co-maître de ces lieux et Grand Gourou du canal IRC #knoppixfr sur irc.freenode.org (où je vous invite à nous retrouver). Qu'il en soit remercié...
Si vous utilisez un éditeur tel kvim évitez l'emploi de tabulations pour aligner les textes, j'ai constaté que cela pose parfois problème. (Insertion de caractères non imprimables ?) Classiquement les lignes avec # en début sont des commentaires et sont ignorées lors de l'exécution du script. Je précise que j'ai volontairement "sur-commenté" le script en pensant aux newbies qui, comme moi ,veulent être surs de comprendre ce qu'ils font.
Debut du script
#!/bin/sh
#Script de sauvegarde
#0 Etapes du Script
# Commentaires et/ou Syntaxe
#1 Montage du répertoire d'accueil
# Synthaxe mount /dev/PartitionAmonter
# Commentaire Le point de montage de /dev/Partition doit exister dans /etc/fstab
# Exemple 1 Montage 2eme partition primaire du 1er disque USB --> mount /dev/sda2
# Exemple 2 Montage 1ere partition primaire du 2nd disque USB --> mount /dev/sdb1
# Nota Pour un disque USB selon la version du Noyaux remplacer sd par ud --> mount /dev/uda1
# Exemple 3 Montage de la 3eme partition logique du second disque dur IDE
mount /dev/hdb7
#2 Delai pour être sur que le periphérique est monté
sleep 3
#Insertion de la date.
date=$(date)
set -- $date
#3 Suppression du(des) log(s) de la veille (anciens)
# Syntaxe rm -f /CheminFichierLog/NomFichierLog.*
# Exemple Suppression des logs resultatBackup.date se trouvant sous /home/toto/tmp/
rm -f /home/toto/tmp/resultatBackup.*
#4 Suppression du fichier de sauvegarde de la veille > création du fichier log du jour
# Syntaxe rm -f /mnt/PointMontage/CheminDossier/Dossier/*.bz2 > /CheminFichierLog/NomFichierLog.$3$2$6
# Commentaire DossierDestination et CheminFichierLog doivent exister avant le lancement du script
# Commentaire La variable $3$2$6 ajoute la date en fin de nom de fichier
# Exemple Suppression des sauvegardes précédentes (*.bz2) dans /mnt/hdb7/Backup , et création du log (resultatBackup.date) dans /home/toto/tmp/
rm -f /mnt/hdb7/Backup/*.bz2 > /home/toto/tmp/resultatBackup.$3$2$6
#5 Sauvegarde d'un dossier >> ajout des infos au fichier log précédemment créer
# Syntaxe tar cpjvf /mnt/PointMontage/CheminDossier/NomFichierSauvegarde.$3$2$6.tar.bz2 /CheminDossier/DossierASauver >> /CheminFichierLog/NomFichierLog.$3$2$6
# Exemple Sauvegarde du home de toto dans le fichier = backup_home.date.tar.bz2 sur hdb7/Backup/
tar cpjvf /mnt/hdb7/Backup/backup_home.$3$2$6.tar.bz2 /home/toto >> /home/toto/tmp/resultatBackup.$3$2$6
#6 Sauvegarde d'un autre dossier >> ajout des infos au fichier log a la suites des données précédentes
# Syntaxe Idem ci-dessus en changeant le nom du dossier a sauvegarder et le nom du fichier tar.bz2 de destination
# Exemple Sauvegarde du dossier /home/script
tar cpjvf /mnt/hdb7/Backup/script.$3$2$6.tar.bz2 /home/script >> /home/toto/tmp/resultatBackup.$3$2$6
#7 Démontage
# Syntaxe umount /dev/PartitionAdemonter
# Exemple Démontage de la partition utilisée dans les exemples
umount /dev/hdb7
#8 Fin
fin du script
Pour le modifier, vous devez connaitre:
Admettons que votre fichier soit nommé ainsi: /home/toto/sauvegarde
En root dans une console:
chmod +x /home/toto/sauvegarde
En root dans une console:
cp /home/toto/sauvegarde /usr/sbin/sauvegarde
En root dans une console:
/usr/sbin/sauvegarde
Rendez vous dans le dossier de destination des sauvegardes, vous devriez y trouver un fichier NomDeFichier.date.tar.bz2 pour chacun des dossiers que vous avez sauvegardé. Ouvrez les (avec Ark par exemple) et constatez que vos fichiers sont dedans. Placez vous ensuite dans le dossier recevant le fichier log (dans notre exemple /home/toto/tmp). Ouvrez le fichier NomDeFichier.date et vous verrez une ligne générée pour chacun des fichiers sauvegardé.
Créez une tache cron qui exécutera votre script a des intervalles fixés par vous sans que vous n'ayez plus à vous en préoccuper. (1 fois par jour semble un choix logique).
Utilisez cron de la manière suivante:
Dans une console:
crontab -l
affiche les taches programmées (pour l'user si vous êtes en user pour root si vous êtes en root),
crontab -e
édite la configuration (pour l'user si vous êtes en user pour root si vous êtes en root),
La syntaxe de cron est la suivante , pour définir la tache:
minute[0-59] heure[0-23] jour_du_mois[1-31] mois[1-12] jour_de_la_semaine[0-6] tache[executable]
exemple avec crontab -l on obtient :
# Dossiers où chercher les programmes.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/scripts
# Redéfinit le shell par défaut.
SHELL=/bin/sh
#exemple de tache, sauvegarde quotidienne
20 19 * * * /home/scripts/sauvegarde
A 19h20, tous les jours du mois, tous les mois, tous les jours de la semaine, exécuter /home/scripts/sauvegarde
touch /home/toto/tmp/resultatBackup.$3$2$6
Pensez quand même dans ce cas à faire le ménage dans les vieilles sauvegardes de temps en temps pour éviter l'engorgement. Personnellement je conserve 1 semaine de recul dans mes sauvegardes.
Message posté par pedro le 2006-06-10 à 13:02:08
Bonjour,
J'ai bien aimé ce petit script. Manque de pot j'ai eu un disque qui m'a laché. Et je n'arrive pas à extraire les fichiers des archives !! Il me dit opération effectué avec succès, mais les repertoires sont vides... J'ai essayé avec plusieurs logiciels d'archive, même en ligne de commande, ca fait toujours la même chose. Je pensait à une histoire de permissions mais même en root je n'y arrive pas. Merci de votre aide.
Message posté par Nom le 2006-08-12 à 02:05:34
je travaille sur linux [boot-;:!:!:;:!ù**$$^$¤¤]
je vous tiendrai au courant je travaille sur une verson suze installer avec ds l'orde croissant [gentoo 2000.0, hakin9 (2006) et kubuntoo mais ces dernier son pré config pré-crypter mais pas installer.
[,;:!ù*^$²²²°]
Ce site devrait être valide XHTML 1.0 | © Purée de Linux
faute de frappe
Message posté par sana le 2006-05-10 à 23:22:30
revoir :
Une fois votre fois votre fichier adapté et enregistré, il faut le rendre éxécutable