<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Shell : Backup multiples et séparés de comptes FTP</title>
	<atom:link href="http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html</link>
	<description>Développement Web - PHP, MySQL, Xhtml1.1, JS, Flash 9 …</description>
	<lastBuildDate>Mon, 23 Aug 2010 10:05:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Par : Quentin</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-259</link>
		<dc:creator>Quentin</dc:creator>
		<pubDate>Thu, 06 May 2010 10:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-259</guid>
		<description>non non pas lancer les backups direct avec un shell_exec, mais plutôt construire le .sh direct à partir de php, ce qui entre nous soit dit est très bien executé par webmin.

ok pour passer, il n&#039;y a pas vraiment de meilleur moment pour passer en fait ... appelles moi et on voit !

++</description>
		<content:encoded><![CDATA[<p>non non pas lancer les backups direct avec un shell_exec, mais plutôt construire le .sh direct à partir de php, ce qui entre nous soit dit est très bien executé par webmin.</p>
<p>ok pour passer, il n&#8217;y a pas vraiment de meilleur moment pour passer en fait &#8230; appelles moi et on voit !</p>
<p>++</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Denis Dee Jay</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-258</link>
		<dc:creator>Denis Dee Jay</dc:creator>
		<pubDate>Thu, 06 May 2010 09:59:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-258</guid>
		<description>Re re,

Et re-re merci :D

En fait, au départ je faisais mes sauvegardes via un php qui lançait la commande system et exécutait les commandes shell que j&#039;avais construit avant. En fonction du retour de la commande system je faisais ensuite telle ou telle action.
C&#039;était bien, mais je me suis rendu compte que j&#039;étais un peu trop dépendant d&#039;apache et donc qu&#039;un simple restart d&#039;apache pouvait planter la sauvegarde. (ou un timeout, ou une surcharge du buffer etc.)

C&#039;est pour ça que je suis revenu sur du shell et de la gestion plus basique via des logs. En cas d&#039;arret de l&#039;action, c&#039;est plus facile de retrouver la trace (bien qu&#039;on puisse aussi générer un fichier de log via php).

L&#039;idée que j&#039;ai pour un futur projet c&#039;est de carrément créer un logiciel de gestion de sauvegardes en php, mais utilisé en tant que cgi (donc directement en ssh) et que ce logiciel puisse être aussi accessible depuis http en se connectant au serveur sur IP:Port_defini. Comme ça, je me prend plus la tête, j&#039;englobe toute ma soluce de gestion de noms de domaines, bdd, users unix/ftp/sql, les .hosts, les .conf etc. Mais bon, ça ce sera un gros boulot, donc c&#039;est pas pour tout de suite :)

Faudrait que je passe vous voir dans vos locaux. Ca fait des mois que je dis qu&#039;il faudrait que je me cale une date dans mon agenda sans jamais le faire. T&#039;as des jours où je peux passer sans déranger? (comme ça on pourra parler de ces petites sauvegardes et je pourrai te montrer ce que je fais maintenant ^^)

@+ ;)</description>
		<content:encoded><![CDATA[<p>Re re,</p>
<p>Et re-re merci <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>En fait, au départ je faisais mes sauvegardes via un php qui lançait la commande system et exécutait les commandes shell que j&#8217;avais construit avant. En fonction du retour de la commande system je faisais ensuite telle ou telle action.<br />
C&#8217;était bien, mais je me suis rendu compte que j&#8217;étais un peu trop dépendant d&#8217;apache et donc qu&#8217;un simple restart d&#8217;apache pouvait planter la sauvegarde. (ou un timeout, ou une surcharge du buffer etc.)</p>
<p>C&#8217;est pour ça que je suis revenu sur du shell et de la gestion plus basique via des logs. En cas d&#8217;arret de l&#8217;action, c&#8217;est plus facile de retrouver la trace (bien qu&#8217;on puisse aussi générer un fichier de log via php).</p>
<p>L&#8217;idée que j&#8217;ai pour un futur projet c&#8217;est de carrément créer un logiciel de gestion de sauvegardes en php, mais utilisé en tant que cgi (donc directement en ssh) et que ce logiciel puisse être aussi accessible depuis http en se connectant au serveur sur IP:Port_defini. Comme ça, je me prend plus la tête, j&#8217;englobe toute ma soluce de gestion de noms de domaines, bdd, users unix/ftp/sql, les .hosts, les .conf etc. Mais bon, ça ce sera un gros boulot, donc c&#8217;est pas pour tout de suite <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Faudrait que je passe vous voir dans vos locaux. Ca fait des mois que je dis qu&#8217;il faudrait que je me cale une date dans mon agenda sans jamais le faire. T&#8217;as des jours où je peux passer sans déranger? (comme ça on pourra parler de ces petites sauvegardes et je pourrai te montrer ce que je fais maintenant ^^)</p>
<p>@+ <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Quentin</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-255</link>
		<dc:creator>Quentin</dc:creator>
		<pubDate>Thu, 06 May 2010 05:54:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-255</guid>
		<description>joli script shell,
petite piste de réflexion, tu peux également utiliser un fichier php,
qui contruit ton script shell tous les soirs, ce qui te permettrait d&#039;utiliser
ton langage de prédilection, c&#039;est ce que j&#039;ai mis en place pour pixelcréo,
ce n&#039;est pas plus efficace, mais plus lisible et plus accessible qu&#039;un fichier bash.

on peut échanger sur le sujet un de ces 4 si ça te branches !
++</description>
		<content:encoded><![CDATA[<p>joli script shell,<br />
petite piste de réflexion, tu peux également utiliser un fichier php,<br />
qui contruit ton script shell tous les soirs, ce qui te permettrait d&#8217;utiliser<br />
ton langage de prédilection, c&#8217;est ce que j&#8217;ai mis en place pour pixelcréo,<br />
ce n&#8217;est pas plus efficace, mais plus lisible et plus accessible qu&#8217;un fichier bash.</p>
<p>on peut échanger sur le sujet un de ces 4 si ça te branches !<br />
++</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Denis Dee Jay</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-200</link>
		<dc:creator>Denis Dee Jay</dc:creator>
		<pubDate>Tue, 30 Mar 2010 10:56:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-200</guid>
		<description>J&#039;ai fais une petite mise à jour de ce code il y a quelques temps, j&#039;ai préféré faire mes essais avant de faire une mise à jour de ce billet.

Le problème que j&#039;avais : 
----------------------------------
La recherche et suppression des anciennes archives en local me supprimait aussi le fichier d&#039;exclusion.
Apparement, le : 
find $BACKUPDIR \( ! -name &#039;$(basename $EXCLUDEFILE)&#039;  ! -name &#039;$(basename $TMP_LOG)&#039; \)  -mtime +$OLD_DAYS -exec rm  -drv {} \; &gt;&gt; $TMP_LOG ;
n&#039;échappait pas toujours le fichier d&#039;exclusion et donc, il finissait par le supprimer.

Une fois que le fichier d&#039;exclusion est supprimé, c&#039;est là que ça déraille car le script sauvegardait aussi le répertoire de backup et donc, la taille des archives gonflait de jour en jour. Si on ne faisait pas attention, au bout de quelques jours / semaines on finissait par surcharger la partition.

La solution, super simple :
------------------------------------
C&#039;est une petite triche, mais elle suffit largement. 
Au lieu de me prendre la tête à trouver comment échapper le fichier &quot;backup_exclude.txt&quot; de la recherche et suppression, on modifie la date de dernière modification de ce fichier avant de faire la recherche et suppression. Le fichier étant donc toujours à la date du jour il ne peut par conséquent pas être supprimé.
C&#039;est une petite astuce qui m&#039;a permis de résoudre rapidement le problème. C&#039;est pas très propre, mais pour l&#039;instant ça suffira bien :)

Pour changer la date de dernière modification du fichier avec la date / heure actuel :
------------------------------------------------------------------------------------------------------------------
touch $EXCLUDEFILE;</description>
		<content:encoded><![CDATA[<p>J&#8217;ai fais une petite mise à jour de ce code il y a quelques temps, j&#8217;ai préféré faire mes essais avant de faire une mise à jour de ce billet.</p>
<p>Le problème que j&#8217;avais :<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
La recherche et suppression des anciennes archives en local me supprimait aussi le fichier d&#8217;exclusion.<br />
Apparement, le :<br />
find $BACKUPDIR \( ! -name &#8216;$(basename $EXCLUDEFILE)&#8217;  ! -name &#8216;$(basename $TMP_LOG)&#8217; \)  -mtime +$OLD_DAYS -exec rm  -drv {} \; >> $TMP_LOG ;<br />
n&#8217;échappait pas toujours le fichier d&#8217;exclusion et donc, il finissait par le supprimer.</p>
<p>Une fois que le fichier d&#8217;exclusion est supprimé, c&#8217;est là que ça déraille car le script sauvegardait aussi le répertoire de backup et donc, la taille des archives gonflait de jour en jour. Si on ne faisait pas attention, au bout de quelques jours / semaines on finissait par surcharger la partition.</p>
<p>La solution, super simple :<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
C&#8217;est une petite triche, mais elle suffit largement.<br />
Au lieu de me prendre la tête à trouver comment échapper le fichier &laquo;&nbsp;backup_exclude.txt&nbsp;&raquo; de la recherche et suppression, on modifie la date de dernière modification de ce fichier avant de faire la recherche et suppression. Le fichier étant donc toujours à la date du jour il ne peut par conséquent pas être supprimé.<br />
C&#8217;est une petite astuce qui m&#8217;a permis de résoudre rapidement le problème. C&#8217;est pas très propre, mais pour l&#8217;instant ça suffira bien <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pour changer la date de dernière modification du fichier avec la date / heure actuel :<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
touch $EXCLUDEFILE;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Denis Dee Jay</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-180</link>
		<dc:creator>Denis Dee Jay</dc:creator>
		<pubDate>Tue, 16 Mar 2010 10:57:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-180</guid>
		<description>Bonjour,

J&#039;aurai une petite astuce pour vous. Ca consisterai a faire 2 scripts de sauvegarde. L&#039;un pour tous les sites, l&#039;autre pour celui là.

Dans le 2eme shell, changer le chmod du site au moment de la génération du tar (juste avant :  tar -czf $BACKUPDIR$(basename  $DIR)&quot;/&quot;$ARCHIVE $DIR;) pour bloquer les droits d&#039;écriture au moment de la génération de l&#039;archive. Puis, de remettre les droits d&#039;écriture une fois que la création de l&#039;archive est finie. (juste après le : echo &quot;[&quot;$DATE_NOW&quot;] - Génération de l&#039;archive pour : &quot;$(basename  $DIR)&quot; )

Ca permettra de &quot;figer&quot; le site le temps de la génération de l&#039;archive (délais + ou - court en fonction de la taille du site).

Vous pouvez aussi le faire dans le faire en un seul shell, dans ce cas, ce changement de chmod s&#039;appliquera a chacun d&#039;eux.</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>J&#8217;aurai une petite astuce pour vous. Ca consisterai a faire 2 scripts de sauvegarde. L&#8217;un pour tous les sites, l&#8217;autre pour celui là.</p>
<p>Dans le 2eme shell, changer le chmod du site au moment de la génération du tar (juste avant :  tar -czf $BACKUPDIR$(basename  $DIR)&nbsp;&raquo;/&nbsp;&raquo;$ARCHIVE $DIR;) pour bloquer les droits d&#8217;écriture au moment de la génération de l&#8217;archive. Puis, de remettre les droits d&#8217;écriture une fois que la création de l&#8217;archive est finie. (juste après le : echo &laquo;&nbsp;["$DATE_NOW"] &#8211; Génération de l&#8217;archive pour : &laquo;&nbsp;$(basename  $DIR)&nbsp;&raquo; )</p>
<p>Ca permettra de &laquo;&nbsp;figer&nbsp;&raquo; le site le temps de la génération de l&#8217;archive (délais + ou &#8211; court en fonction de la taille du site).</p>
<p>Vous pouvez aussi le faire dans le faire en un seul shell, dans ce cas, ce changement de chmod s&#8217;appliquera a chacun d&#8217;eux.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Dugué</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-179</link>
		<dc:creator>Dugué</dc:creator>
		<pubDate>Mon, 15 Mar 2010 18:07:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-179</guid>
		<description>Bonjour,
J&#039;utilise ce script super, mais j&#039;ai un petit problème. J&#039;ai un site qui fait planter toute la sauvegarde car il est modifié au cours de sa compression. Du coup ça arrête tout le reste. J&#039;ai bien essayé d&#039;exclure le répertoire qui posait problème (/home/rep/www/cache/page), mais alors il ne sauvegarde plus rien du répertoire rep.
Quoi faire ?
Merci de votre réponse.</description>
		<content:encoded><![CDATA[<p>Bonjour,<br />
J&#8217;utilise ce script super, mais j&#8217;ai un petit problème. J&#8217;ai un site qui fait planter toute la sauvegarde car il est modifié au cours de sa compression. Du coup ça arrête tout le reste. J&#8217;ai bien essayé d&#8217;exclure le répertoire qui posait problème (/home/rep/www/cache/page), mais alors il ne sauvegarde plus rien du répertoire rep.<br />
Quoi faire ?<br />
Merci de votre réponse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Denis Dee Jay</title>
		<link>http://www.denisdeejay.com/langages/shell/shell-backup-multiples-separes-ftp-181.html/comment-page-1#comment-88</link>
		<dc:creator>Denis Dee Jay</dc:creator>
		<pubDate>Tue, 02 Feb 2010 01:14:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.denisdeejay.com/?p=181#comment-88</guid>
		<description>Pareil que pour l&#039;autre script de backup :
------------------------------------------------------
Faire attention, à la ligne contenant :
8 ) MESS= »Erreur d’utilisation.
j’ai mis un espace entre 8 et ) qu’il faudra retirer.
ca me mettait le smiley  &quot; 8)  &quot; dans le code sinon ;)</description>
		<content:encoded><![CDATA[<p>Pareil que pour l&#8217;autre script de backup :<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Faire attention, à la ligne contenant :<br />
8 ) MESS= »Erreur d’utilisation.<br />
j’ai mis un espace entre 8 et ) qu’il faudra retirer.<br />
ca me mettait le smiley  &nbsp;&raquo; <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' />  &nbsp;&raquo; dans le code sinon <img src='http://www.denisdeejay.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
