当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [分享]ubuntu下backup-manger备份技术整理
帖子发表于 : 2008-08-12 10:27 

注册: 2008-08-12 10:07
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
Ubuntu下BACKUP-MANGER备份技术文档整理
Backup Manager 简介
Backup Manager 是一个用 Shell 和 Perl 语言编制的 GNU/Linux 系统的命令行备份工具。它可以:
• 备份文件系统、MySQL 数据库等
• 备份文件支持 tar, tar.gz, tar.bz2 和 zip 等格式
• 支持增量备份
• 支持备份文件的远程上传
• 支持 CDR/DVD 烧制
• 支持 cron 整合
安装 Backup Manager
sudo apt-get install backup-manager backup-manager-doc
安装后会进行首次配置的提示,可以暂且使用默认值,之后再修改 Backup Manager 的配置文件。
Backup Manager 配置
默认的配置文件是 /etc/backup-manager.conf。常用的选项说明如下:
参数 说明
BM_REPOSITORY_ROOT 指明所有的备份文件存放的位置
BM_ARCHIVE_TTL 指明备份文件的整理周期
BM_ARCHIVE_METHOD 指明备份类型 (文件系统、MySQL等)
BM_TARBALL_DIRECTORIES 指明要备份的文件系统目录 (多个之间用空格间隔)
BM_TARBALL_BLACKLIST 指明不被备份的子目录
BM_TARBALLINC_MASTERDATETYPE 在使用增量备份时,指明多久进行一个完全备份(可选 weekly 和 monthly)
BM_MYSQL_DATABASES 指明要备份的 MySQL 数据库(多个之间用空格间隔)
BM_MYSQL_ADMINLOGIN 指明 MySQL 管理员账号
BM_MYSQL_ADMINPASS 指明 MySQL 管理员密码
BM_MYSQL_HOST 指明 MySQL 所运行的主机
BM_MYSQL_PORT 指明 MySQL 所运行的端口号
BM_MYSQL_FILETYPE 指明备份 MySQL 所用的压缩软件(可选 bzip2 和 gzip)
BM_UPLOAD_METHOD 指明备份文件上传到远程主机所使用的协议 (可选 scp、ftp 和 rsync)
BM_UPLOAD_HOSTS 指明远程主机
BM_UPLOAD_DESTINATION 指明远程主机的上传目录位置
BM_UPLOAD_FTP_USER 指明远程主机 FTP 上传账号
BM_UPLOAD_FTP_PASSWORD 指明远程主机 FTP 上传账号密码
BM_UPLOAD_FTP_PURGE 指明是否在上传前清理 FTP 服务器上的旧文件

由于 /etc/backup-manager.conf 文件包含许多账号信息,因此默认该文件只能被 root 读,不要更改该文件的权限。
Backup Manager 命令
sudo backup-manager -h
/usr/sbin/backup-manager [options]

Output:
--help|-h : 显示帮助信息。
--verbose|-v : 在标准输出显示所做的工作。
--no-warnings : 不显示警告信息。

Single actions:
--upload|-u : 仅上传当日的备份文件。
--burn|-b : 仅刻录当日的备份文件。
--md5check|-m : 仅检测 md5 sums。
--purge|-p : 仅清除旧的备份文件。

Behaviour:
--conffile|-c file : 指定另外的配置文件。
--force|-f : 强制覆盖已经存在的备份文件。
Unwanted actions:
--no-upload : 禁用上传功能
--no-burn : 禁用刻录功能
--no-purge : 禁用清理功能
Backup Manager 与 cron 整合
安装 Backup Manager 之后,默认已经存在 /etc/cron.daily/backup-manager 文件
cat /etc/cron.daily/backup-manager
#!/bin/sh
# cron script for backup-manager
test -x /usr/sbin/backup-manager || exit 0
/usr/sbin/backup-manager
若您希望看到 backup-manager 都作了些什么,需要修改 /etc/cron.daily/backup-manager 文件,将最后一行改为
/usr/sbin/backup-manager --verbose
cron 会将输出结果以 mail 形式发送给 root 。
使用 Backup Manager 备份工作组开发环境
在备份服务器上安装 FTP 服务器
S1: 使用如下命令安装 proftpd
sudo apt-get install proftpd proftpd-doc
S2. 创建一个系统账号用于备份文件的上传
sudo useradd -d /home/wgbak -m wgbak
sudo passwd wgbak
在主服务器上配置 Backup Manager
使用如下命令配置 /etc/backup-manager.conf
sudo vi /etc/backup-manager.conf
Where to store the archives export BM_REPOSITORY_ROOT=”/home/archives” # 修改备份文件的存储位置 # For security reasons, the archive repository and the generated # archives will be readable/writable by a given user/group. # This is recommended to set this to true. export BM_REPOSITORY_SECURE=“true” # The repository will be readable/writable only by a specific # user:group pair if BM_REPOSITORY_SECURE is set to true. export BM_REPOSITORY_USER=“root” export BM_REPOSITORY_GROUP=“root”
Number of days we have to keep an archive (Time To Live) export BM_ARCHIVE_TTL=“7” # 修改备份周期 # Do you want to replace duplicates by symlinks? # (archive-DAY is a duplicate of archive-(DAY - 1) if they # are both the same size). export BM_ARCHIVE_PURGEDUPS=“true” # Prefix of every archive on that box (default is HOSTNAME) export BM_ARCHIVE_PREFIX=“$HOSTNAME”
# The backup method to use. # Available methods are: # - tarball # - tarball-incremental # - mysql # - svn # - pipe # - none # If you don't want to use any backup method (you don't want to # build archives) then choose “none” export BM_ARCHIVE_METHOD=“tarball-incremental mysql” # 修改备份类型

# Archive filename format # long : host-full-path-to-folder.tar.gz # short : parentfolder.tar.gz export BM_TARBALL_NAMEFORMAT=“long” # Type of archives, available types are tar, tar.gz, tar.bz2, zip. export BM_TARBALL_FILETYPE=“tar.gz” # Do you want to dereference the files pointed by symlinks ? # enter true or false (true can lead to huge archives, be careful). export BM_TARBALL_DUMPSYMLINKS=“false” # Directories you want to backup as tarballs (separated by spaces) export BM_TARBALL_DIRECTORIES=”/etc /home” # 指定要备份的目录 # Files to exclude when generating tarballs export BM_TARBALL_BLACKLIST=”/home/archives” # 指定要排除的子目录

# Which frequency to use for the master tarball? # possible values: weekly, monthly export BM_TARBALLINC_MASTERDATETYPE=“weekly” # Number of the day, in the BM_TARBALLINC_MASTERDATETYPE frequency # when master tarballs should be made export BM_TARBALLINC_MASTERDATEVALUE=“1” # Examples: you want to make maser tarballs every friday: # BM_TARBALLINC_MASTERDATETYPE=“weekly” # BM_TARBALLINC_MASTERDATEVALUE=“5” # # Or every first day of the month: # BM_TARBALLINC_MASTERDATETYPE=“monthly” # BM_TARBALLINC_MASTERDATEVALUE=“1”

This method is dedicated to MySQL databases. # You should not use the tarball method for backing up database # directories or you may have corrupted archives. # Enter here the list of databases export BM_MYSQL_DATABASES=“mysql mybase wordpress lilina” # 指定要备份的 MySQL 数据库名 # The user who is allowed to read every databases filled in BM_MYSQL_DATABASES export BM_MYSQL_ADMINLOGIN=“root” # its password export BM_MYSQL_ADMINPASS=“yourmysqlrootpasswd” # 指定 MySQL root 的密码 # the host where the database is export BM_MYSQL_HOST=“localhost” # the port where MySQL listen to on the host export BM_MYSQL_PORT=“3306” # which compression format to use? (gzip or bzip2) export BM_MYSQL_FILETYPE=“bzip2”

Backup method: svn ############################################################# # Absolute paths to the svn repositories to archive export BM_SVN_REPOSITORIES=”” # You can compress the resulting XML files # Supported compressor are: bzip2 and gzip export BM_SVN_COMPRESSWITH=“bzip2”

# Backup method: pipe ############################################################# # The “pipe” method is a generic way of making archive. # Its concept is simple, for every kind of archive you want # to make, you give: a command which will send output on stdout, # a name, a file type and optionnaly, a compressor.
# Be careful, this feature uses arrays! declare -a BM_PIPE_COMMAND declare -a BM_PIPE_NAME declare -a BM_PIPE_FILETYPE declare -a BM_PIPE_COMPRESS
# You can virtually implement whatever backup scenario you like # with this method. # # The resulting archives will be named like this: # $BM_ARCHIVE_PREFIX-$BM_PIPE_NAME.$DATE.$BM_PIPE_FILETYPE # If you specified a BM_PIPE_COMPRESS option, the resulting filename # will change as expected (eg, .gz if “gzip”). # # Here are a couple of examples for using this method:
# Archive a remote MySQL database through SSH: # BM_PIPE_COMMAND[0]=“ssh host -c \”mysqldump -ufoo -pbar base\”” # BM_PIPE_NAME[0]=“base” # BM_PIPE_FILETYPE[0]=“sql” # BM_PIPE_COMPRESS[0]=“gzip” # This will make somthing like: localhost-base.20050421.sql.gz
# Archive a specific directory, on a remote server through SSH: # BM_PIPE_COMMAND[0]=“ssh host -c \”tar -c -z /home/user\”” # BM_PIPE_NAME[0]=“host.home.user” # BM_PIPE_FILETYPE[0]=“tar.gz” # BM_PIPE_COMPRESS[0]=”” # This will make somthing like: localhost-host.home.user.20050421.tar.gz
export BM_PIPE_COMMAND export BM_PIPE_NAME export BM_PIPE_FILETYPE export BM_PIPE_COMPRESS
# Which method to use for uploading archives, you can put # multiple methods here. # Available methods: # - scp # - ftp # - rsync # - none # If you don't want to use any upload method (you don't want to # upload files to remote hosts) then choose “none” export BM_UPLOAD_METHOD=“ftp” # 指定上传方式 # where to upload (global to all methods) export BM_UPLOAD_HOSTS=“192.168.0.223” # 指定远程主机 # Where to put archives on the remote hosts (global) export BM_UPLOAD_DESTINATION=””

# The SSH method ############################################################# # the user to use for the SSH connections/transfers export BM_UPLOAD_SSH_USER=”” # The private key to use for opening the connection export BM_UPLOAD_SSH_KEY=”” # specific ssh hosts export BM_UPLOAD_SSH_HOSTS=”” # port to use for SSH connections (leave blank for default one) export BM_UPLOAD_SSH_PORT=”” # destination for ssh uploads (overrides BM_UPLOAD_DESTINATION) export BM_UPLOAD_SSH_DESTINATION=””
################################################ # The FTP method the user to use for the FTP connections/transfers export BM_UPLOAD_FTP_USER=“wgbak” # 指定 ftp 用户 # the FTP user's password export BM_UPLOAD_FTP_PASSWORD=“wgbakpasswd” # 指定 ftp 用户密码 # FTP specific rmeote hosts export BM_UPLOAD_FTP_HOSTS=“192.168.0.223” # 指定 ftp 服务器 # purge archives on remote hosts before uploading? export BM_UPLOAD_FTP_PURGE=“true” # 指定上传前清理远程的旧文件(若您希望手工清理,保持 false) # destination for FTP uploads (overrides BM_UPLOAD_DESTINATION) export BM_UPLOAD_FTP_DESTINATION=”” </file>
为了配置简单,此处使用的是 FTP 上传方式,若您对工作组环境的安全性缺乏信任度,可以考虑使用 SCP 方式,这种方式会使用 SSH 的证书访问方式。
配置好后,使用如下命令进行测试
sudo /usr/sbin/backup-manager --verbose
之后可以查看:
• 主服务器的 /home/archives/ 下的备份文件
• 备份服务器 /home/wgbak/ 下被上传的备份文件


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [分享]ubuntu下backup-manger备份技术整理
帖子发表于 : 2009-06-10 21:35 
头像

注册: 2006-02-17 23:30
帖子: 72
送出感谢: 2
接收感谢: 0 次
学习了,可是哪些目录需要备份呢


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [分享]ubuntu下backup-manger备份技术整理
帖子发表于 : 2010-01-27 22:42 
头像

注册: 2009-09-07 20:34
帖子: 102
送出感谢: 0 次
接收感谢: 0 次
好东西阿 :em11


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [分享]ubuntu下backup-manger备份技术整理
帖子发表于 : 2011-12-05 13:02 

注册: 2011-11-11 15:59
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
太多了吧,其它我只要一个远程备份数据库到FTP服务器就可以了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [分享]ubuntu下backup-manger备份技术整理
帖子发表于 : 2012-08-04 10:28 

注册: 2012-08-04 10:24
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
1.在安装 backup-manager 后并没有发现 /etc/cron.daily/backup-manager 文件,这种情况如何处理?
2.是否是自动备份还是每日手动备份?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译