DeveloperWiki:Backups
This page provides an overview of the Arch Linux services that require backed up.
Contents
BBS
- Server: gudrun
- Backup commands:
mysqldump -uXXX -pXXX fluxbb \ --no-data \ | gzip -c > bbs-schema.sql.gz mysqldump -uXXX -pXXX --hex-blob fluxbb \ --no-create-info \ --single-transaction --quick \ --ignore-table=fluxbb.online --ignore-table=fluxbb.search_cache \ --ignore-table=fluxbb.search_matches --ignore-table=fluxbb.search_words \ | gzip -c > bbs-data.sql.gz tar -czf bbs-htdocs.tar.gz /srv/http/vhosts/bbs.archlinux.org/
- Space needed: 200MB
Wiki
- Server: gudrun
- Backup commands:
mysqldump -uXXX -pXXX archwiki \ --no-data \ | gzip -c > archwiki-schema.sql.gz mysqldump -uXXX -pXXX --hex-blob archwiki \ --no-create-info \ --single-transaction --quick \ --ignore-table=archwiki.hitcounter --ignore-table=archwiki.searchindex \ --ignore-table=archwiki.l10n_cache --ignore-table=archwiki.objectcache \ --ignore-table=archwiki.querycache --ignore-table=archwiki.querycachetwo \ --ignore-table=archwiki.querycache_info --ignore-table=archwiki.transcache \ | gzip -c > archwiki-data.sql.gz tar -czf wiki-htdocs.tar.gz /srv/http/vhosts/wiki.archlinux.org
- Space needed: 570MB
Flyspray
- Server: gudrun
- Backup commands:
mysqldump -uflyspray -pxxx flyspray \ --no-data \ | gzip -c > bugs-schema.sql.gz mysqldump -uflyspray -pxxx --hex-blob flyspray \ --no-create-info \ --single-transaction --quick \ --ignore-table=flyspray.flyspray_cache \ | gzip -c > bugs-data.sql.gz tar czf bugs-htdocs.tar.gz /srv/http/vhosts/bugs.archlinux.org/
- Space needed: 160MB
Mailman
- Server: gudrun
- Backup commands:
tar czf mailman.tar.gz /srv/mailman
- Space needed: 400MB
ArchWeb
- Server: gudrun
- Backup commands:
mysqldump -uxxx -pxxx archweb \ --no-data \ | gzip -c > archweb-schema.sql.gz mysqldump -uxxx -pxxx --hex-blob archweb \ --no-create-info \ --single-transaction --quick \ | gzip -c > archweb-data.sql.gz tar czf archweb-htdocs.tar.gz /srv/http/archweb/
- Space needed: 32MB
Git
- Server: gerolde
- Backup commands:
repos=(archiso netcfg pacman vhosts/repos.archlinux.org vhosts/bbs.archlinux.org vhosts/bugs.archlinux.org vhosts/wiki.archlinux.org mkinitcpio dbscripts devtools abs initscripts installer archboot archweb aur server-misc mkinitcpio-nfs-utils srcpac namcap kde-build aif linux-2.6-ARCH pacbuild wpa_actiond) for r in ${repos[@]}; do git clone -q --mirror /srv/projects/git/${r}.git ${r}.git tar czf ${r}.git.tar.gz ${r}.git rm -rf ${r}.git done
- Space needed: 120MB
SVN
Note: should probably do a full backup monthly followed by incremental backups daily.
Core/Extra Repos
- Server: gerolde
- Backup commands:
svnadmin hotcopy /srv/svn-packages/ svn-packages --clean-logs svnadmin verify --quiet svn-packages tar -czf svn-packages.tar.gz svn-packages rm -rf svn-packages
- Size needed: 4GB (estimated)
Community Repos
- Server: sigurd (could be done using rsync copy on gerolde)
- Backup commands:
svnadmin hotcopy /srv/svn-packages/ svn-community --clean-logs svnadmin verify --quiet svn-community tar -czf svn-packages.tar.gz svn-community rm -rf svn-community
- Size needed: 1.1GB
System files
Gerolde
- Server: gerolde
- Backup commands:
tar czf system-gerolde.tar.gz /etc /var/log /var/lib/pacman/local
- Size needed: 170MB
Gudrun
- Server: gudrun
- Backup commands:
tar -cz --exclude=/var/log/httpd/*access* -f system-gudrun.tar.gz /etc /var/log /var/lib/pacman/local
- Size needed: 20MB
Sigurd
- Server: sigurd
- Backup commands:
tar -cz --exclude=/var/log/lighttpd/aur-access* -f system-sigurd.tar.gz /etc /var/log /var/lib/pacman/local
- Size needed: 11M
AUR
For now:
time=`date +%Y%m%d-%H%M` mysqldump -uaur -pxxx aur | gzip -c > aur-$time.sql.gz /srv/http/aur.archlinux.org/aur/scripts/cleanup /srv/http/aur.archlinux.org/aur/web tar czf aur-files-$time.tar.gz /srv/http/aur.archlinux.org
I'd like to make a script for dumping the DB which will grab the DB/username/passwd from the AUR config file, so we don't have those things spread all over the place.