| Forums FUG-FR | |
|
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
Divers et varié >> Programmation >> Script de sauvegarde de fichier. https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1210925078 Message started by Eddy on 16. May 2008 at 10:04 |
|
|
Title: Script de sauvegarde de fichier. Post by Eddy on 16. May 2008 at 10:04
Bonjour,
J'aimerai savoir si un script qui permet de sauvegarder des fichiers dont on à renseigné les chemins existe. Plus concretement : Le script sauvegarde des chemins de fichiers et/ou dossiers et enregistre ces fichier ou dossier dans un repertoire précis. Je voudrais en faite avoir un script qui me fasse des copies de sauvegarde de mes fichiers de configuration. |
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 16. May 2008 at 11:48
rsync (avec --include-from) ? ou encore mieux (à mon goût): un VCS (et pourquoi pas cvs, puisqu'il est déjà dans la base ?)
PS: si le fil ne continue pas vers la discussion d'un script à proprement parler, je le déplacerai vers "Système", sans doute |
|
Title: Re: Script de sauvegarde de fichier. Post by ros on 16. May 2008 at 12:09
Je vais épargner du travail à francis.
Voici un script que j'utilise pour faire un backup de mes répertoires de travail, en gros des répertoires tous les jours : Code (] #!/bin/sh # This script backup the content of the directory # dayly backup for a week period. ## WEEKDAY=`date +"%w"` # Fichier temporaire TFILE=`printf "BACKUP_FILE_.%d.old" $WEEKDAY` FILENAME=`printf "BACKUP_FILE.%d.tgz" $WEEKDAY` #repertoire a sauvegarder DIRECTORY_TO_BK=$1 cd /tmp /usr/bin/tar -czf $TFILE $DIRECTORY_TO_BK # Copie du fichier temporaire cree vers sa destination finale if [ -f ${TFILE} ):
|
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 16. May 2008 at 12:24
Merci ros, ça représente quoi : "BACKUP_FILE_" ?
|
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 16. May 2008 at 14:07
Il existe aussi un port pour rsnapshot qui pourrait faire ton affaire.
|
|
Title: Re: Script de sauvegarde de fichier. Post by ros on 16. May 2008 at 14:10
Le fichier de backup crée se nommera p-ex BACKUP_FILE.1.tgz pour celui du dimanche
Tu peux changer BACKUP_FILE par ce que tu veux, voir modifier le script pour le mettre en paramètre |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 20. May 2008 at 11:05
J'ai commencé un petit script, et j'ai besoin d'une petite aide :)
Lorsque l'utilisateur donne le chemin relatif d'un fichier peut-on retrouver facilement le chemin absolu ? Par exemple, l'utilisateur lance un script en donnant en paramètre le fichier file de son home comment avoir le chemin /home/titi/file ? Merci |
|
Title: Re: Script de sauvegarde de fichier. Post by Marck on 20. May 2008 at 11:19
Ben... le chemin relatif devrait toujours être relatif par rapport à l'actuel répertoire de travail, non (ou cela ne te convient pas...) ?
Donc il doit suffire de récuperer celui-ci avec : pwd #!/bin/sh BASE=`pwd` echo $BASE A tout hasard, dans ce genre de script, les commandes basename et dirname peuvent aussi être utiles. |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 20. May 2008 at 12:08
Ok donc si je fait :
$./mon_script file1 Si je veux enregistrer le chemin absolu de file1, je dois concatener pwd avec file1. Si je fait $./mon_script ../file1 Ca devient plus compliqué :/ |
|
Title: Re: Script de sauvegarde de fichier. Post by ros on 20. May 2008 at 12:33
$ monscript.sh ../../../etc/profile
/etc/profile $ cat monscript CHEMIN_RELATIF=`dirname $1` NOM_FICHIER=`basename $1` CHEMIN_ABSOLUT=`(cd ${CHEMIN_RELATIF} && pwd )` echo "${CHEMIN_ABSOLUT}/${NOM_FICHIER}" |
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 20. May 2008 at 12:45
Pourquoi tant de complications ?:
[code] LA_CIBLE_EN_ABSOLU=`pwd`/$1[/code] Non ? |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 20. May 2008 at 13:11
Merci ros, marche très bien.
Francis ta version ne fonctionne pas si l'utilisateur donne ../path/file. |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 20. May 2008 at 13:19
Premiere version alpha, si vous voyez des abérrations merci de me les signaler.
Code (] #!/bin/sh ##Verification de l'existence du fichier .backuprc if [ -f ~/.backuprc ):
|
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 20. May 2008 at 13:25 -Eddy- wrote on 20. May 2008 at 13:11:
Ah oui ?: Quote:
|
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 20. May 2008 at 13:42
Si tu fais un echo à la place de ls, ca te donnera quelquechose de moins sympa. La commande ls est puissante.
Enfin pour mon script, ca fonctionnera mais l'enregistrement du chemin dans le fichier (.backuprc) sera moins "joli". |
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 20. May 2008 at 13:44
Je comprends pas:
Quote:
|
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 22. May 2008 at 15:34
Non mais ca marche mais c'est pas très joli :
/var/tmp/../at/jobs <=> /var/at/jobs Je préfère la seconde version. |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 22. May 2008 at 17:12
J'ai un petit probleme avec sed :
sed 's/directory.*/'"$FIC"'/' ~/.backuprc $FIC = /home/.... Et la commande sed elle aime pas mes "/" de $FIC. |
|
Title: Re: Script de sauvegarde de fichier. Post by francis on 22. May 2008 at 17:34
Pas de problème, sed(1) est flexible:
Quote:
Donc, par exemple: sed -e "s#mon_expr_A#mon_expr_B_et_${FIC}#" cible |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 23. May 2008 at 18:39
Bon nouveau petit problème, est-ce qu'il est possible d'assigner une valeur aux variables réservé $1 ...
Je voulais faire un petit : if [ "$#" -eq 0 ]; then 1='-s' fi Mais ça fonctionne pas. |
|
Title: Re: Script de sauvegarde de fichier. Post by Marck on 23. May 2008 at 19:14
Salut
man sh : Quote:
Je pense que la réponse est là... Petite précision : 0 ($0) n'est pas une variable mais un "Special Parameter" 1 ($1) ; etc... ne sont pas des variables mais des "Positional Parameters" Voilà, si j'ai bien tout compris ;) |
|
Title: Re: Script de sauvegarde de fichier. Post by Eddy on 23. May 2008 at 19:17
Ok merci. Je vais faie autrement alors :)
|
|
Forums FUG-FR » Powered by YaBB 2.5.2! YaBB Forum Software © 2000-2025. All Rights Reserved. |