gameplayer posteets tagged linux  [ Profile ]

Sort by: Date / Title /

  1. 5 months ago and saved by 1 other
    Cette commande va effectuer le status sur tous les fichiers contenus dans $liste_file_to_update, ne récupère que les lignes commençant par M (fichiers modifiés), supprime les 9 premiers caractères (pour supprimer les caractères de statut affichés par svn status) et retire les espaces et caractères numériques restant au début de la ligne.
    1. svn status -u $liste_file_to_update | egrep '^M' | cut -c 9- | sed "s/[1-9 ][1-9 ]*\//\//g"
  2. 10 months ago and saved by 1 other
    Pensez a fixer les deux paramètres pathRepo et pathBackup. Merci de me laisser un commentaire si vous en sentez le besoin.
    1. #!/bin/bash
    2. # Script de sauvegarde incrémentale d'un dépôt subversion
    3. # Il est possible de provoquer une sauvegarde complète en supprimant le dossier version ou son contenu
    4. # Paramètres
    5. # Chemin du dépôt à sauvegarder
    6. pathRepo="/chemin/repository";
    7. # Chemin du dossier de sauvegarde
    8. pathBackup="/chemin/dossier/sauvegarde";
    9. # Chemin du dossier pour mémoriser la dernière version sauvegardée
    10. pathNumVersion=$pathBackup"/version";
    11. # Chemin du fichier de logs
    12. pathLog=$pathBackup"/backup.log";
    13. # Nom du fichier (compris entre la date et l'extension)
    14. fileName="backup_svn";
    15. # Format de la date
    16. # Pour le nom du fichier
    17. dateFileFormat="+%Y%m%d";
    18. # Pour le log
    19. dateLogFormat="+%Y-%m-%d %H:%M";
    20.  
    21. # Vérifications
    22. # Vérification de l'existence des dossiers de travail
    23. if [ ! -d $pathBackup ]; then
    24.         echo "Dossier $pathBackup inexistant";
    25.         exit 1;
    26. fi
    27.  
    28. echo "[$(date "$dateLogFormat")] Début de la sauvegarde" >> $pathLog;
    29.  
    30. # Création du dossier de la version si il n'existe pas
    31. if [ ! -d $pathNumVersion ]; then
    32.         mkdir $pathNumVersion;
    33. fi
    34.  
    35. numVersionLastBackup=$(ls $pathNumVersion);
    36. if [ "$numVersionLastBackup" = "" ]; then
    37.         touch "$pathNumVersion/1";
    38.         numVersionLastBackup=1;
    39. fi
    40.  
    41. if [ $numVersionLastBackup -gt 1 ]; then
    42.         backupIncremental=" --incremental";
    43.         typeBackup="incr";
    44. else
    45.         typeBackup="full";
    46. fi
    47.  
    48. # Vérification de l'existance du dépôt
    49. if  ! (svnlook info $pathRepo 2>>$pathLog 1>"/dev/null") ; then
    50.         echo "[$(date "$dateLogFormat")] ERREUR : Repository $pathRepo inexistant" >> $pathLog;
    51.         echo "[$(date "$dateLogFormat")] Fin de l'exécution - Sauvegarde non effectuée" >> $pathLog;
    52.         exit 1;
    53. fi
    54.  
    55. # Récupération de la dernière version présente dans le dépôt
    56. youngestSvnVersion=$(svnlook youngest $pathRepo);
    57. echo "[$(date "$dateLogFormat")] Version la plus récente : $youngestSvnVersion" >> $pathLog;
    58.  
    59. if [ $numVersionLastBackup -gt $youngestSvnVersion ]; then
    60.         echo "[$(date "$dateLogFormat")] La version la plus récente est la version sauvegardée, la sauvegarde n'est donc pas nécéssaire" >> $pathLog;
    61.         echo "[$(date "$dateLogFormat")] Fin de la sauvegarde" >> $pathLog;
    62.         exit 0
    63. fi
    64.  
    65. # Lancement effectif de la sauvegarde
    66. if (svnadmin dump -r$numVersionLastBackup:$youngestSvnVersion$backupIncremental $pathRepo 2>>$pathLog | bzip2 > "$pathBackup/$(date "$dateFileFormat")_"$fileName"_"$typeBackup"_"$numVersionLastBackup"_to_"$youngestSvnVersion".svndump.bz2") ; then
    67.         echo "[$(date "$dateLogFormat")] Mise à jour du numéro de version" >> $pathLog;
    68.         mv $pathNumVersion/$numVersionLastBackup $pathNumVersion/$(($youngestSvnVersion + 1));
    69. else
    70.         echo "[$(date "$dateLogFormat")] Erreur lors de la sauvegarde" >> $pathLog;
    71.         echo "[$(date "$dateLogFormat")] Fin de l'exécution - Sauvegarde non effectuée" >> $pathLog;
    72.         exit 1;
    73. fi
    74.  
    75. echo "[$(date "$dateLogFormat")] Fin de la sauvegarde" >> $pathLog;
    76. exit 0
  3. 11 months ago
    Pour le caractère ^M (c'est un caractère), utiliser la suite de combinaisons de touches ctrl+v suivi de ctrl+m
    :%s/^M//g
  4. sponsorised links
  5. 1 year ago and saved by 1 other
    1. #!/bin/bash
    2.  
    3. #paramètres de configuration du script
    4. #completer ici par le nom d'un utilisateur autorisé à dumper toutes vos bases :
    5. strMysqlUser=""
    6. #completer ici par le mot de passe de cet utilisateur :
    7. strPassword=""
    8. # completer ici par le chemin vers le repertoire de travail où va se trouver le dump
    9. # il est possible de préfixer le répertoire  :
    10. # "/rep/de/travail/prefix_" donnera alors /rep/de/travail/prefix_20070505
    11. repTravail=""
    12.  
    13.  
    14. #mémorisation de la date du jour et de la date d'il y a 7 jours
    15. dateActuelle=$(date +%Y%m%d)
    16. datePassee=$(date --date '7 days ago' +%Y%m%d)
    17.  
    18. #Suppression de la sauvegarde d'il y a 7 jours
    19. echo "["$(date +%F\ %X)"] Suppression des dump du "$datePassee
    20. repTravailPasse=$repTravail$datePassee
    21. rm -R $repTravailPasse
    22.  
    23. # début du dump
    24. echo "["$(date +%F\ %X)"] Dump du : "$dateActuelle
    25. repTravailActuel=$repTravail$dateActuelle
    26. mkdir $repTravailActuel
    27. # récupération de la liste des bdd
    28. listDatabase=$(mysql --user=$strMysqlUser --password=$strPassword --exec="SHOW DATABASES;" --silent --column-names=FALSE )
    29.  
    30. #dump de chaque base dans un fichier
    31. for lineDatabase in $listDatabase
    32. do
    33.     echo "["$(date +%F\ %X)"] Debut du dump de la base "$lineDatabase" vers "$repTravailActuel
    34.     mysqldump --user="$strMysqlUser" --password="$strPassword" "$lineDatabase" | gzip > "$repTravailActuel"/"$lineDatabase".sql.gz
    35.     echo "["$(date +%F\ %X)"] Dump compressé dans "$repTravailActuel"/"$lineDatabase".sql.gz"
    36. done
    37. echo "["$(date +%F\ %X)"] Fin de la sauvegarde"
    38. exit 0

First / Previous / Next / Last / Page 1 of 1 (4 posteets)