<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Posteet: gameplayer</title> 
    <link>http://www.posteet.com/</link> 
    <description>Recent posteets posted to Posteet</description>
    <ttl>60</ttl>

    
    <item>
        <title>Afficher la liste des fichiers modifiés sur l'execution d'une commande svn status -u</title>
        <link>http://www.posteet.com/view/1010</link>
        <description>
        <![CDATA[<pre>svn status -u $liste_file_to_update | egrep '^M' | cut -c 9- | sed &quot;s/[1-9 ][1-9 ]*\//\//g&quot;</pre> <a href="http://www.posteet.com/tags/bash">[bash]</a>  <a href="http://www.posteet.com/tags/linux">[linux]</a>  <a href="http://www.posteet.com/tags/svn">[svn]</a> ]]>        </description>
        <dc:creator>gameplayer</dc:creator>
        <pubDate>Tue, 17 Jun 2008 11:04:25 +0000</pubDate>

            <category>bash</category>
            <category>linux</category>
            <category>svn</category>
    
    </item>

  
    <item>
        <title>Sauvegarde d'un dépôt SVN</title>
        <link>http://www.posteet.com/view/672</link>
        <description>
        <![CDATA[<pre>#!/bin/bash
# Script de sauvegarde incrémentale d'un dépôt subversion
# Il est possible de provoquer une sauvegarde complète en supprimant le dossier version ou son contenu
# Paramètres
# Chemin du dépôt à sauvegarder
pathRepo=&quot;/chemin/repository&quot;;
# Chemin du dossier de sauvegarde
pathBackup=&quot;/chemin/dossier/sauvegarde&quot;;
# Chemin du dossier pour mémoriser la dernière version sauvegardée
pathNumVersion=$pathBackup&quot;/version&quot;;
# Chemin du fichier de logs
pathLog=$pathBackup&quot;/backup.log&quot;;
# Nom du fichier (compris entre la date et l'extension)
fileName=&quot;backup_svn&quot;;
# Format de la date
# Pour le nom du fichier
dateFileFormat=&quot;+%Y%m%d&quot;;
# Pour le log
dateLogFormat=&quot;+%Y-%m-%d %H:%M&quot;;

# Vérifications
# Vérification de l'existence des dossiers de travail
if [ ! -d $pathBackup ]; then
	echo &quot;Dossier $pathBackup inexistant&quot;;
	exit 1;
fi

echo &quot;[$(date &quot;$dateLogFormat&quot;)] Début de la sauvegarde&quot; &gt;&gt; $pathLog;

# Création du dossier de la version si il n'existe pas
if [ ! -d $pathNumVersion ]; then
	mkdir $pathNumVersion;
fi

numVersionLastBackup=$(ls $pathNumVersion);
if [ &quot;$numVersionLastBackup&quot; = &quot;&quot; ]; then
	touch &quot;$pathNumVersion/1&quot;;
	numVersionLastBackup=1;
fi

if [ $numVersionLastBackup -gt 1 ]; then
	backupIncremental=&quot; --incremental&quot;;
	typeBackup=&quot;incr&quot;;
else
	typeBackup=&quot;full&quot;;
fi

# Vérification de l'existance du dépôt
if  ! (svnlook info $pathRepo 2&gt;&gt;$pathLog 1&gt;&quot;/dev/null&quot;) ; then
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] ERREUR : Repository $pathRepo inexistant&quot; &gt;&gt; $pathLog;
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] Fin de l'exécution - Sauvegarde non effectuée&quot; &gt;&gt; $pathLog;
	exit 1;
fi

# Récupération de la dernière version présente dans le dépôt
youngestSvnVersion=$(svnlook youngest $pathRepo);
echo &quot;[$(date &quot;$dateLogFormat&quot;)] Version la plus récente : $youngestSvnVersion&quot; &gt;&gt; $pathLog;

if [ $numVersionLastBackup -gt $youngestSvnVersion ]; then
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] La version la plus récente est la version sauvegardée, la sauvegarde n'est donc pas nécéssaire&quot; &gt;&gt; $pathLog;
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] Fin de la sauvegarde&quot; &gt;&gt; $pathLog;
	exit 0
fi

# Lancement effectif de la sauvegarde
if (svnadmin dump -r$numVersionLastBackup:$youngestSvnVersion$backupIncremental $pathRepo 2&gt;&gt;$pathLog | bzip2 &gt; &quot;$pathBackup/$(date &quot;$dateFileFormat&quot;)_&quot;$fileName&quot;_&quot;$typeBackup&quot;_&quot;$numVersionLastBackup&quot;_to_&quot;$youngestSvnVersion&quot;.svndump.bz2&quot;) ; then
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] Mise à jour du numéro de version&quot; &gt;&gt; $pathLog;
	mv $pathNumVersion/$numVersionLastBackup $pathNumVersion/$(($youngestSvnVersion + 1));
else
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] Erreur lors de la sauvegarde&quot; &gt;&gt; $pathLog;
	echo &quot;[$(date &quot;$dateLogFormat&quot;)] Fin de l'exécution - Sauvegarde non effectuée&quot; &gt;&gt; $pathLog;
	exit 1;
fi

echo &quot;[$(date &quot;$dateLogFormat&quot;)] Fin de la sauvegarde&quot; &gt;&gt; $pathLog;
exit 0</pre> <a href="http://www.posteet.com/tags/backup">[backup]</a>  <a href="http://www.posteet.com/tags/bash">[bash]</a>  <a href="http://www.posteet.com/tags/linux">[linux]</a>  <a href="http://www.posteet.com/tags/svn">[svn]</a> ]]>        </description>
        <dc:creator>gameplayer</dc:creator>
        <pubDate>Tue, 15 Jan 2008 07:34:51 +0000</pubDate>

            <category>backup</category>
            <category>bash</category>
            <category>linux</category>
            <category>svn</category>
    
    </item>

  
    <item>
        <title>Se débarasser des ^M dans un ficheir avec VIM</title>
        <link>http://www.posteet.com/view/567</link>
        <description>
        <![CDATA[<pre>:%s/^M//g</pre> <a href="http://www.posteet.com/tags/bash">[bash]</a>  <a href="http://www.posteet.com/tags/linux">[linux]</a>  <a href="http://www.posteet.com/tags/vim">[vim]</a> ]]>        </description>
        <dc:creator>gameplayer</dc:creator>
        <pubDate>Mon, 10 Dec 2007 09:12:44 +0000</pubDate>

            <category>bash</category>
            <category>linux</category>
            <category>vim</category>
    
    </item>

  
    <item>
        <title>Dump de toutes les bases de données d'un serveur mysql dans de multiples fichiers</title>
        <link>http://www.posteet.com/view/193</link>
        <description>
        <![CDATA[<pre>#!/bin/bash
 
#paramètres de configuration du script
#completer ici par le nom d'un utilisateur autorisé à dumper toutes vos bases :
strMysqlUser=&quot;&quot; 
#completer ici par le mot de passe de cet utilisateur :
strPassword=&quot;&quot; 
# completer ici par le chemin vers le repertoire de travail où va se trouver le dump
# il est possible de préfixer le répertoire  :
# &quot;/rep/de/travail/prefix_&quot; donnera alors /rep/de/travail/prefix_20070505
repTravail=&quot;&quot; 
 
 
#mémorisation de la date du jour et de la date d'il y a 7 jours
dateActuelle=$(date +%Y%m%d)
datePassee=$(date --date '7 days ago' +%Y%m%d)
 
#Suppression de la sauvegarde d'il y a 7 jours
echo &quot;[&quot;$(date +%F\ %X)&quot;] Suppression des dump du &quot;$datePassee
repTravailPasse=$repTravail$datePassee
rm -R $repTravailPasse
 
# début du dump
echo &quot;[&quot;$(date +%F\ %X)&quot;] Dump du : &quot;$dateActuelle
repTravailActuel=$repTravail$dateActuelle
mkdir $repTravailActuel
# récupération de la liste des bdd
listDatabase=$(mysql --user=$strMysqlUser --password=$strPassword --exec=&quot;SHOW DATABASES;&quot; --silent --column-names=FALSE )
 
#dump de chaque base dans un fichier
for lineDatabase in $listDatabase
do
    echo &quot;[&quot;$(date +%F\ %X)&quot;] Debut du dump de la base &quot;$lineDatabase&quot; vers &quot;$repTravailActuel
    mysqldump --user=&quot;$strMysqlUser&quot; --password=&quot;$strPassword&quot; &quot;$lineDatabase&quot; | gzip &gt; &quot;$repTravailActuel&quot;/&quot;$lineDatabase&quot;.sql.gz
    echo &quot;[&quot;$(date +%F\ %X)&quot;] Dump compressé dans &quot;$repTravailActuel&quot;/&quot;$lineDatabase&quot;.sql.gz&quot;
done
echo &quot;[&quot;$(date +%F\ %X)&quot;] Fin de la sauvegarde&quot;
exit 0</pre> <a href="http://www.posteet.com/tags/bash">[bash]</a>  <a href="http://www.posteet.com/tags/lamp">[lamp]</a>  <a href="http://www.posteet.com/tags/linux">[linux]</a>  <a href="http://www.posteet.com/tags/mysql">[mysql]</a> ]]>        </description>
        <dc:creator>gameplayer</dc:creator>
        <pubDate>Mon, 05 Nov 2007 07:57:02 +0000</pubDate>

            <category>bash</category>
            <category>lamp</category>
            <category>linux</category>
            <category>mysql</category>
    
    </item>


</channel>
</rss>
