IRedMail/FAQ/Backup
From iRedMail
Revision as of 06:24, 11 May 2011 by ZhangHuangbin (Talk | contribs)
Contents |
Backup MySQL Databases
There's a shell script available for backing up MySQL databases: http://iredmail.googlecode.com/hg/iRedMail/tools/backup_mysql.sh
Please read header of this file carefully before you execute it:
# Filename: backup_mysql.sh # Author: Zhang Huangbin (zhb@iredmail.org) # Date: 2007.09.16 # Purpose: Backup specified mysql databases with command 'mysqldump'. # License: This shell script is part of iRedMail project, released under # GPL v2. ########################### # REQUIREMENTS ########################### # # * Required commands: # + mysqldump # + du # + bzip2 or gzip # If bzip2 is not available, change 'CMD_COMPRESS' # # to use 'gzip'. # ########################### # USAGE ########################### # # * It stores all backup copies in directory '/backup' by default, you can # change it in variable $BACKUP_ROOTDIR below. # # * Set correct values for below variables: # # BACKUP_ROOTDIR # MYSQL_USER # MYSQL_PASSWD # DATABASES # DB_CHARACTER_SET # COMPRESS # DELETE_PLAIN_SQL_FILE # # * Add crontab job for root user (or whatever user you want): # # # crontab -e -u root # 1 4 * * * bash /path/to/backup_mysql.sh # # * Make sure 'crond' service is running, and will start automatically when # system startup: # # # ---- On RHEL/CentOS ---- # # chkconfig --level 345 crond on # # /etc/init.d/crond status # # # ---- On Debian/Ubuntu ---- # # update-rc.d cron defaults # # /etc/init.d/cron status # ########################### # DIRECTORY STRUCTURE ########################### # # $BACKUP_ROOTDIR # Default is /backup # |- mysql/ # Used to store all backed up databases. # |- YEAR.MONTH/ # |- YEAR.MONTH.DAY/ # |- DB.YEAR.MONTH.DAY.MIN.HOUR.SECOND.sql # # Backup copy, plain SQL file. # # Note: it will be removed immediately after # # it was compressed with success and # # DELETE_PLAIN_SQL_FILE='YES' # # |- DB.YEAR.MONTH.DAY.HOUR.MINUTE.SECOND.sql.bz2 # # Backup copy, compressed SQL file. # # |- logs/ # |- YEAR.MONTH/ # |- mysql-YEAR.MONTH.DAY.MIN.HOUR.SECOND.log # Log file #
Backup OpenLDAP Data
There's a shell script available for backing up OpenLDAP data: http://iredmail.googlecode.com/hg/iRedMail/tools/backup_openldap.sh
Please read header of this file carefully before you execute it:
# Author: Zhang Huangbin (zhb@iredmail.org) # Date: 05/02/2010 # Purpose: Dump whole LDAP tree with command 'slapcat'. # License: This shell script is part of iRedMail project, released under # GPL v2. ########################### # REQUIREMENTS ########################### # # * Required commands: # + slapcat # + du # + bzip2 or gzip # If bzip2 is not available, change 'CMD_COMPRESS' # # to use 'gzip'. # ########################### # USAGE ########################### # # * It stores all backup copies in directory '/backup' by default, you can # change it in variable $BACKUP_ROOTDIR below. # # * Set correct values for below variables: # # BACKUP_ROOTDIR # COMPRESS # DELETE_PLAIN_SQL_FILE # # * Add crontab job for root user (or whatever user you want): # # # crontab -e -u root # 1 4 * * * bash /path/to/backup_openldap.sh # # * Make sure 'crond' service is running, and will start automatically when # system startup: # # # ---- On RHEL/CentOS ---- # # chkconfig --level 345 crond on # # /etc/init.d/crond status # # # ---- On Debian/Ubuntu ---- # # update-rc.d cron defaults # # /etc/init.d/cron status # ########################### # DIRECTORY STRUCTURE ########################### # # $BACKUP_ROOTDIR # Default is /backup # |- ldap/ # Used to store all backed up copies. # |- YEAR.MONTH/ # |- YEAR.MONTH.DAY/ # |- YEAR.MONTH.DAY.MIN.HOUR.SECOND.ldif # # Backup copy, plain LDIF file. # # Note: it will be removed immediately after # # it was compressed with success and # # DELETE_PLAIN_SQL_FILE='YES' # # |- YEAR.MONTH.DAY.HOUR.MINUTE.SECOND.ldif.bz2 # # Backup copy, compressed LDIF file. # # |- logs/ # |- YEAR.MONTH/ # |- ldap-YEAR.MONTH.DAY.MIN.HOUR.SECOND.log # Log file #
