je vous contact car j'ai besoin d'aide pour un examen, le travail consiste à "
Ce travail pratique consiste à mettre en place un script et un environnement permettant d’effectuer à intervalles réguliers la sauvegarde de plusieurs répertoires." Nous devons faire du bash dans un .sh
Si une âme charitable serait prête à m'aider, ca serait très gentil de votre part et bien sur rémunéré.
Si ca intéresse quelqu'un envoyez moi un mp ou répondez ci-dessous.
si tu veux une direction pour pas te planter regarde rsync et crontab, avec ça tu devrais pouvoir t'ensortir pour le sujet
C'est déjà ce qu'il y a marquer dans le sujet.
Je ne sais pas pourquoi il veut cpio pour moi il vaut mieux utiliser tar.
Après rsync est trop haut niveau pour sa sauvegarde il faut mieux utiliser rdiff (le mécanisme de diff binaire de rsync) ou un outils similaire comme xdelta3.
En gros le mécanisme consiste à faire une sauvegarde complète du dossier avec tar (ou cpio) puis à utiliser un outils de diff binaire (rdiff) pour les incréments.
Pour faire un incrément tu refais un tar du dossier à sauvegarder puis tu fais un rdiff de ce tar avec le tar de la sauvegarde initiale et supprime le tar que tu viens de faire.
Il y a des outils pour faire ça tous seul comme rdiffdir ou duplicity.
Avec rdiffdir tu peux faire cela comme ça pour le backup initial:
Pour les journaux de log utilise tu peux utiliser la commande logger (cela log dans syslog ou journald qui gère le nettoyage des logs). Sinon si tu les logs dans un fichier tu peux utiliser logrotate pour les nettoyer périodiquement.
Je tiens juste à préciser que je suis un très jeune débutant à Linux j'ai donc de la difficulté encore avec vos termes techniques et que mon professeur est un grand malade de nous demander de faire un tp comme ca comme premier travail ... (je dois le rendre vendredi)
merci pour votre aide, je vais finalement rater mon module car le temps est contre moi.
je vais te donner une version ultra basique qui fera une partie du job (je me suis inspiré de ceci) :
#!/bin/bash
INPUTS=( \
~/tmp \
)
OUTPUT=~/backup
for INPUT in "${INPUTS[@]}"
do
mkdir -p $OUTPUT/$INPUT
echo $(date +%Y-%m-%d_%H-%M-%S) >> $OUTPUT/$INPUT/log.txt
echo $(date +%Y-%m-%d_%H-%M-%S) >> $OUTPUT/$INPUT/error.txt
tar -zcvf $OUTPUT/$INPUT/backup-$(hostname)-$(date +%Y-%m-%d_%H-%M-%S).tar.gz -g $OUTPUT/$INPUT/files.list --exclude $INPUT/backup* $INPUT 2>> $OUTPUT/$INPUT/error.txt 1>> $OUTPUT/$INPUT/log.txt
done
bon ce code te fait :
sauvegarde incrementale,
les log et les errueus dans deux fichiers séparés,
le nommage en fonction du serveur
Il te reste à faire l'envoie en ssh de la dernière sauvegarde (rsync) et la partie l'automatisation (crontab)
PS : le temps n'est pas cointre toi, il est le même pour tout le monde, mais tu devrais chercher un peut, car ça m'a pris 10 mins pour trouver un tuto simple
- Edité par ox223252 23 mai 2019 à 9:47:56
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub