|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Bonjour!
Je cherche à réaliser un script qui me permettrait de sauvegarder l'ensemble d'un répertoire ("/home/user1" par exemple) dans un autre répertoire ou un fichier tar. Problème: je suis un grand débutant en "scriptologie" (traduction: je suis complètement nul J'aimerais aussi que ce script ne sauvegarde à chaque fois que les fichiers qui ont été modifiés depuis le dernier backup (l'idée serait en effet de mettre le script dans la crontab). Voilà! Je sais que pour des grosses bêtes du script écrire un petit programme comme ça est à peine plus compliqué que de commander du pain à la boulangère du coin Alors si une âme charitable était d'accord pour réaliser ce bout de code... Marchi d'avance. |
|
|
00
|
|
|
#2 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
lit le manuel de rsync .......
une base : Code :
rsync -t /home/user1/* [hosts]:/repertoire_de_sauvegarde/user1 |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Super !! "man rsync" ; c'est exactement ce qu'il me fallait
Merci beaucoup! Par contre: après je sauvegarde la ligne de code dans un fichier du genre "backup.sh"? que je rends exécutable et que je place dans crontab, c'est ça? |
|
|
00
|
|
|
#4 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
exacte pour un "backup.sh".
Attention toutefois, un script en crontab ne doit JAMAIS prejuger de variables d'environnements (PATH, LIBARY, HOME, .....) et donc toujours les initialiser lui même, lezs cheminin de commande doivent être tous en absolu. |
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Citation:
Au fait, il semblerait plutôt que la commande soit: rsync -a /home/user1/* [hosts]:/repertoire_de_sauvegarde/user1 en effet, selon man: Citation:
Sinon en cherchant sur google j'ai trouvé ça: http://www.mikerubel.org/computers/rsync_snapshots/ C'est en anglais, c'est très complet, apparement en plus de rsync il conseille d'utiliser des liens en dur. |
||
|
|
00
|
|
|
#6 | |||||||||
|
Membre à l'essai
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Bon très bien, tout fonctionne. Pour le cas où quelqu'un est intéressé par ce problème, je vais détailler la démarche pas à pas, bref, faisons un petit:
TUTO BACKUP Le but de ce tuto est donc de sauvegarder quotidiennement le contenu d'un répertoire "/chemin/rep1" vers un autre répertoire: "/chemin/rep2". Première étape, créer un fichier /usr/bin/backup.sh qui contiendra l'ordre de copier rep1 vers rep. Donc, ouvrir un terminal et passer en mode super utilisateur: Code :
Ensuite, créer et éditer le fichier /etc/bin/backup.sh: Kwrite s'ouvre, vous êtes face à une page blanche. Taper: Citation:
Tel quel, si vous créez un jour un fichier "toto" dans /chemin/rep1, et que vous l'effacez le lendemain ; le fichier toto restera pour toujours présent dans /chemin/rep2. Si vous voulez que lors de la supression d'un fichier de /chemin/rep1 il soit aussi effacer de /chemin/rep2, alors il faut ajouter l'option "--delete" : Code :
Vous êtes normalement de retour dans la console. On va maintenant éditer le fichier /etc/crontab qui définit toutes les tâches qui doivent être effectuées régulièrement: Vous voilà dans votre fichier crontab. Normalement il devrait déjà contenir des lignes de codes. Voilà par exemple ce contient le mien: Citation:
La partie qui nous intéresse est "run-parts". C'est elle qui contient la liste des programmes à exécuter régulièrement ainsi que leur fréquence d'exécution. La première partie de l'entrée de crontab décrit quand l'action sera effectuée. Il y a cinq champs, séparés par un espace ou une tabulation, dont chacun est paramétré soit par, un nombre, une étoile (*), ou le texte approprié. Les champs sont, dans l'ordre, minute, heure, jour du mois, mois et jour de la semaine. Le mois et le jour de la semaine permettent l'utilisation d"une abréviation (suivant les jours et mois en anglais), telle que jan pour janvier (January) ou thu pour jeudi (Thursday). Nous allons donc rajouter la ligne: Citation:
Citation:
Citation:
Voilà!! Quelques liens pour rsync: http://doc.ubuntu-fr.org/serveur/rsync un très bon article: http://www.linuxfocus.org/Francais/M...ticle326.shtml dans le forum de developpez: http://developpez.net/forums/showthread.php?p=1393418 avec un réseau: http://www.bidon.ca/Automatiser_les_...vec_rsync.html pour cron: http://doc.ubuntu-fr.org/applications/cron http://www.linux-france.org/article/...ntfaire-8.html et bien sûr: |
|||||||||
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 248 ![]() |
merci c cool c tuto, tres interessent
graaaaaaaaaaaaand merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com