[CLI Wiki] page ajoutée : scripts:exemples:backups

noreply at asyd.net noreply at asyd.net
Sat Jan 27 15:19:57 CET 2007


Une page dans votre Wiki a été ajoutée ou modifiée. Voici les 
détails :

Date              : 2007/01/27 15:19
Navigateur        : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.9) Gecko/20070102 Ubuntu/dapper-security Firefox/1.5.0.9
Adresse IP        : 82.225.60.98
Nom d'hôte        : cxr69-3-82-225-60-98.fbx.proxad.net
Ancienne révision : none
Nouvelle révision : http://cli.asyd.net/home/scripts/exemples/backups
Résumé            : page créée, scripts collés
Utilisateur       : lois

======Scripts de sauvegarde ======

Voici des exemples, plutôt mal fait (pas de rotate), de scripts de backup rapides :

===== Sauvegarder un site ftp =====

On va chercher les données modifiées (mode mirror de lftp) sur le ftp, et on compresse en local. Le ménage doit être fait à la main.

<code bash>
#!/bin/bash
# sauvegarde des wiki de Galette
# Loïs - v20070106
#

DATE=$(date +%Y%m%d)

echo "Sauvegarde du wiki fr+en"
SITE="ftp.tuxfamily.org"
USER="<deleted>"
PASSWD="<deleted>"
RPATH="galette/galette.tuxfamily.org-web/htdocs"
## mirror [options] distant (->) local
ORDER_FR="open $SITE; user $USER,$PASSWD; cd $RPATH; mirror -cn fr wiki/"
ORDER_EN="open $SITE; user $USER,$PASSWD; cd $RPATH; mirror -cn en wiki/"
#FTP_ARGS="set ftp:passive off; set ftp:list-options -a;"
#usage : lftp -c "$FTP_ARGS $ORDER_FR"
lftp -c "$ORDER_FR"
lftp -c "$ORDER_EN"
tar -cjvf wiki-$DATE.tar.bz2 wiki/
echo "done"
echo "--------------------"

echo "Sauvegarde terminée."
exit 0
</code>

===== Sauvegarde d'un dépôt subversion =====

Ce script utilise une zone tampon locale, via rsync, pour éviter d'alourdir le traffic réseau
en re-téléchargeant l'intégralité des données à chaque backup. Ce script n'a **aucun** mécanisme de ménage, il doit être fait à la main (barbare un jour, barbare toujours !).

<code bash>
#!/bin/bash
# sauvegarde du svn et du wiki de bos
# Loïs - v20060110
#

DATE=$(date +%Y%m%d)

echo "Sauvegarde du dépot subversion"
commande_dump="svnadmin dump /home/svn/repos/svn/bos > /home/bos/bos-svn-$DATE"
commande_bzip="bzip2 bos-svn-$DATE"
ssh bos at bos.seul.org "$commande_dump"
ssh bos at bos.seul.org "$commande_bzip"
scp bos at bos.seul.org:/home/bos/bos-svn-$DATE.bz2 .
echo "done"
echo "--------------------"

echo "Sauvegarde du wiki"
commande_tar_wiki="tar -cjvf bos-wiki-$DATE.tar.bz2 /home/bos/public_html/wiki"
ssh bos at bos.seul.org "$commande_tar_wiki"
scp bos at bos.seul.org:/home/bos/bos-wiki-$DATE.tar.bz2 .
echo "done"
echo "--------------------"

echo "Sauvegarde de public_html/files"
mkdir -p public_html
rsync -azvP bos at bos.seul.org:/home/bos/public_html/files ./public_html
tar -cjvf bos-files-$DATE.tar.bz2 public_html/files
echo "done"
echo "--------------------"

echo "Sauvegarde de public_html/dev"
mkdir -p public_html
rsync -azvP bos at bos.seul.org:/home/bos/public_html/dev ./public_html
tar -cjvf bos-dev-$DATE.tar.bz2 public_html/dev
echo "done"
echo "--------------------"

echo "Sauvegarde du svn Stratagus sur SF"
mkdir -p stratagus
commande_tar_stratagus="tar -cjvf stratagus-svn-$DATE.tar.bz2 stratagus/"
# Rsync requests must be proxied, per SF configuration needs
export RSYNC_PROXY=rsync-svn.sourceforge.net:80
rsync -a rsync-svn-s::svn/stratagus/* stratagus/
tar -cjvf stratagus-svn-$DATE.tar.bz2 stratagus/
echo "done"
echo "Sauvegarde terminée."
exit 0
</code>


-- 
Ce message a été généré par DokuWiki
http://cli.asyd.net/home/



More information about the Shell mailing list