Pages : 1
#1 Le 25/02/2010, à 14:06
- tekpi
script sauvegarde
Bonjour à tous,
je vous explique ma problématique.
J'ai 2 disques dur usb de sauvegarde. Ceux-ci doivent être changé manuellement tous les lundis de chaque semaine.
Je souhaiterai donc faire un script de la forme :
je fais donc un less "id_du_du_disque" /home/moi/script_de_sauvegarde
Si le script me renvoie l'id du disque un, je le change avec l'id du disque 2 et vice et versa
à faire chaque lundi via crontab.
je souhaiterai le faire en bash, car je maitrise plus smile
merci pour vos suggestions
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#2 Le 25/02/2010, à 15:24
- francoisp31
Re : script sauvegarde
tu peux utiliser rsync pour synchroniser le contenu de deux disques, (par difference), du coup c'est assez rapide et efficace. D'autant que tu es en USB c'est a mon avis une bonne solution.
si les disques sont mount sur /d1 et /d2 par exemple
suffit de faire un lien symbolique /disque qui pointe sur /d1 ou sur /d2 d'une semaine sur l'autre suffit de reconstruire le lien symbolique comme ça les utilisateurs voient tjrs le disque actif comme /disque quelque soit le disque actif
pour le script qlqchose du genre
disque_actif = disque en readwrite
remount du disque_non_actif en readwrite
synchro
casser le lien symbolique vers le point de montage réel du disque actif
remount readonly disqueactif
remount readwrite nouveaudisqueactif
construire le lien symbolique vers le point de montage réel du nouveau disque actif
Que les puces d'un millier de chiens galleux infeste le cul de celui qui osera vous gacher ne serai ce
qu'une seule journée de votre vie et que les bras lui soient trop court pour qu'il puisse se le gratter.
Hors ligne
#3 Le 25/02/2010, à 16:02
- tekpi
Re : script sauvegarde
Merci pour ta réponse.
Je pense n'avoir pas donné assez d'info, car ta réponse ne semble pas se situer au bon endroit de mon problème
En fait, j'ai déjà un script de sauvegarde. Celui-ci va vérifier l'id du disque et m'envoie un email si jamais le disque n'est pas conforme.
C'est cette variable que je voudrais modifier.
Voici mon script actuel :
#!/bin/bash
HD1=/dev/disk/by-id/usb-SAMSUNG_HD154UI_160500112d49-0:0
TAR=/bin/tar
MOUNT=/bin/mount
SAVE=/save/
LESS=/usr/bin/less
if $MOUNT -t ext3 $HD1 $SAVE > /dev/null ; then
echo success
else
echo "pb montage hd" | mail -s "pb_HD tar" mon_email
exit
fi
$TAR --create --verbose --verbose --listed-incremental /save/test.list --file /save/test_$(date +%d_%m).tar /home/test/
ls -alh /save/*$(date +%d_%m)* | mail -s "rapport sauvegarde du $(date +%d_%m_%Y)" mon_email
umount /save/
C'est la variable HD que je souhaiterai modifier pour faire tourner ma sauvegarde sur 2 disques (donc 2 id différents)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#4 Le 25/02/2010, à 16:04
- tekpi
Re : script sauvegarde
suffit de faire un lien symbolique /disque qui pointe sur /d1 ou sur /d2 d'une semaine sur l'autre suffit de reconstruire le lien symbolique comme ça les utilisateurs voient tjrs le disque actif comme /disque quelque soit le disque actif
Je viens de comprendre, en effet, cela me semble bien, mais comment dire à la crontab le premier lundi du mois, c'est le disque 1, le suivant le 2, le suivant le 1....etc.....c'est effectivement là ma problématique...
qqchose m'échappe je pense....
merci
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi
Hors ligne
#5 Le 25/02/2010, à 16:35
- sputnick
Re : script sauvegarde
backup()
{
bla $1
blabla
tar blate
}
case $(< fichier) in
0) backup /dev/hd1; echo 0 > fichier ;;
1) backup /dev/hd0; echo 1 > fichier ;;
*) echo >&2 "Mauvais dd"; exit ;;
esac
J'utilise un fichier témoin pour resoudre cela.
Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr
Hors ligne
Pages : 1