GForge Community Edition 自动完全备份脚本

本文介绍了一个在CentOS5服务器上为GForgeCommunityEdition配置的自动备份脚本,包括PostgreSQL数据库、MailMan电子邮件、SubVersion仓库的备份过程。详细解释了如何使用pg_dump-Upostgres命令备份数据库,通过tar命令备份邮件管理系统和SVN仓库,并提供了脚本的简要说明和使用建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前不久,我在CentOS 5服务器上成功配置了GForge 5.7 Community Edition,与其Advance Server版相比,功能简单很多,但足够满足我公司现阶段业务需要。CE版不具备自动备份功能,这给服务器维护带来了极大的不便。因此,我编写了以下脚本,用于进行自动备份。


#!/bin/sh # GForge Community Edition 自动完全备份脚本 # 作者Xu Cheng,如有改进,请将副本发送一份给我。 # xc@virtualdell.com #CREATE BACKUP DIRECTRY bkdir=$HOME'/Backup' if [ ! -d "$bkdir" ] then mkdir "$bkdir" echo "Backup Beginning..." else echo ${bkdir}' existed, please remove it!' exit 0 fi #BACKUP POSTGRESQL bkpgsql=${bkdir}/PostgreSql_backup.dump pg_dump -Upostgres [请用GForge数据库名] > ${bkpgsql} if [ -f "${bkpgsql}" ] then echo 'PostgreSql Backup Finished...' else echo 'PostgreSql Backup Failed!' exit 0 fi #BACKUP MAILMAN tar -czvPf MailMan_backup.tar.gz /var/lib/mailman mv MailMan_backup.tar.gz ${bkdir} if [ -f "${bkdir}/MailMan_backup.tar.gz" ] then echo 'MailMan Backup Finished...' else echo 'MailMan Backup Failed!' exit 0 fi #BACKUP SUBVERSION bakdate=$(date +%Y%m%d%H%M) svnrepos="/svnroot" cd $svnrepos if [ -d "$bkdir" ] && [ -w "$bkdir" ] ; then # Now $repo has folder names = project names for repo in *; do # do svn dump for each project echo "Taking backup/svndump for: $repo" echo "Executing : svnadmin dump $repo > $bakdest/$repo-$bakdate.svn.dump /n" # Now finally execute the backup svnadmin dump $repo > $bkdir/$repo-$bakdate.svn.dump done else echo "Unable to continue SVN backup process!" echo "$bkdir is *NOT* a directory or you do not have write permission!" fi tar -czvPf backup_${bakdate}.tar.gz ${bkdir} mv backup_${bakdate}.tar.gz $HOME rm -rf ${bkdir}

送佛送到西,我对代码进行简要的讲解。GForge需要备份的内容包括PostgreSQL数据库、MailMan电子邮件、SubVersion仓库。脚本中,首先使用pg_dump -Upostgres命令进行PostgreSQL数据库备份。然后,再备份MailMan整个文件夹。最后也是最复杂的,是备份SVN仓库。默认的路径为/svnroot,该目录不能用常规命令进行复制或压缩,必须使用svnadmin dump命令单独为每个项目进行备份。因此,我在脚本中使用遍历/svnroot的方式,依次备份各个项目。

备份完毕后,生成的备份文件将放至用户的主目录下,文件名为backup_[备份时的日期时间].tar.gz。为了方便使用,可编辑crontab按时自动执行。

欢迎大家对此脚本进行改进,请将改进后的副本Email给我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值