Backup-Manager
1 安装方法
1.1 手动安装
1.1.1 安装编译环境
yum -y install gcc gcc-c++ make expat-devel
1.1.2 安装解压工具
yum install -y unzip
1.1.3 下载安装包
curl -L https://codeload.github.com/sukria/Backup-Manager/zip/master > ~/Backup-Manager-master.zip
Web地址请参阅:
https://github.com/backup-manager/backup-manager
1.1.4 解压安装包
cd ~ unzip Backup-Manager-master.zip
1.1.5 部署安装包
chmod u+x -R Backup-Manager-master cd Backup-Manager-master make install cp /usr/local/share/backup-manager/backup-manager.conf.tpl /etc/backup-manager.conf
1.1.6 测试运行备份
backup-manager
根据提示解决依赖关系:
Can't locate Sys/Syslog.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/share/perl5/BackupManager/Logger.pm line 34. BEGIN failed--compilation aborted at /usr/local/share/perl5/BackupManager/Logger.pm line 34. Compilation failed in require at //usr/local/bin/backup-manager-purge line 100. BEGIN failed--compilation aborted at //usr/local/bin/backup-manager-purge line 100.
安装如下包:
yum install -y perl-Sys-Syslog
1.2 二级制包安装(可选)
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install -y backup-manager
注:二进制与rpm包安装使用一种即可
1.3. 使用方法
1.3.1 配置文件
vim /etc/backup-manager.conf
注:默认的配置文件仅可用于测试,如果需要执行备份任务请根据配置文件解析修改配置后再执行
1.3.2 定时备份
crontab -e
加入如下行:
0 3 */1 * * /usr/local/sbin/backup-manager
注:每天3:00执行一次备份
2.2 配置文件解析
############################################################## # 存储库配置 ############################################################## # 定义存储归档文件的位置 export BM_REPOSITORY_ROOT="/var/archives" # 定义临时放置归档文件的目录 export BM_TEMP_DIR="/tmp" # 指档案库和生成的文件安全权限 export BM_REPOSITORY_SECURE="true" export BM_REPOSITORY_USER="root" export BM_REPOSITORY_GROUP="root" export BM_REPOSITORY_CHMOD="770" export BM_ARCHIVE_CHMOD="660" # 定义档案的保存天数(生存时间) export BM_ARCHIVE_TTL="5" # 定义档案的备份频率,可选daily和hourly export BM_ARCHIVE_FREQUENCY="daily" # 清除BM_REPOSITORY_ROOT下的顶级归档目录或全部归档 export BM_REPOSITORY_RECURSIVEPURGE="false" # 以软链接代替MD5值相同的文件 export BM_ARCHIVE_PURGEDUPS="true" # 定义归档文件的文件名前缀 export BM_ARCHIVE_PREFIX="$HOSTNAME" # 仅清除由export BM_ARCHIVE_PREFIX定义前缀的归档文件 export BM_ARCHIVE_STRICTPURGE="true" # 自动定义归档的nice值,由最高级别-20至最低级别19 export BM_ARCHIVE_NICE_LEVEL="10" # 定义备份的方法 # - tarball # - tarball-incremental # - mysql # - pgsql # - svn # - pipe # - none export BM_ARCHIVE_METHOD="tarball" ############################################################## # 加密配置 ############################################################## # 适用于本地备份的GPG,启用加密请注解,仅适用于tar, tar.gz, tar.bz2归档 # export BM_ENCRYPTION_METHOD="gpg" # export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34" # export BM_ENCRYPTION_RECIPIENT="Alexis Sukrieh" # export BM_ENCRYPTION_RECIPIENT="sukria@sukria.net" ############################################################## # 备份方法: tarball ############################################################## # 归档文件的格式,长格式和短格式 # long : host-full-path-to-folder.tar.gz # short : parentfolder.tar.gz export BM_TARBALL_NAMEFORMAT="long" # 归档文件的可选类型: # tar, tar.gz, tar.bz2, tar.xz, tar.lzma, dar, zip. # 确保压缩的类型相对应 # (bzip2, dar, xz, lzma, ...). export BM_TARBALL_FILETYPE="tar.gz" # 选择True则透过SSH备份远端服务器 export BM_TARBALL_OVER_SSH="false" # BM_UPLOAD_SSH_HOSTS = "x.x.x.x" # BM_UPLOAD_SSH_USER = "root" # BM_UPLOAD_SSH_KEY = "~/.ssh/id_rsa.pub" # BM_TARBALL_DIRECTORIES # 选择true则由备份软链接改为备份软链接所指的文件 export BM_TARBALL_DUMPSYMLINKS="false" # 定义使用空格分隔需要备份的路径 # export BM_TARBALL_DIRECTORIES="/etc /boot" # 使用数据定义需要备份的路径 declare -a BM_TARBALL_TARGETS BM_TARBALL_TARGETS[0]="/etc" BM_TARBALL_TARGETS[1]="/boot" export BM_TARBALL_TARGETS # 备份排除的绝对或相对路径,允许使用通配符 export BM_TARBALL_BLACKLIST="/dev /sys /proc /tmp" # 定义dar类型单个归档文件的极限大小 export BM_TARBALL_SLICESIZE="1000M" # 定义tarball的命令行参数 export BM_TARBALL_EXTRA_OPTIONS="" ############################################################## # 备份方法: tarball-incremental ############################################################# # 定义增量备份的类型(可选值weekly, monthly)和具体类型对应的值 export BM_TARBALLINC_MASTERDATETYPE="weekly" export BM_TARBALLINC_MASTERDATEVALUE="1 ############################################################## # 备份方法: MySQL ############################################################# # 定义指定的数据库列表 export BM_MYSQL_DATABASES="__ALL__" # 开启安全dump # 需要具有锁定权限MySQL用户配合 export BM_MYSQL_SAFEDUMPS="true" # 具有备份权限的数据库用户信息 export BM_MYSQL_ADMINLOGIN="root" export BM_MYSQL_ADMINPASS="" # 数据库所在的服务器信息 export BM_MYSQL_HOST="localhost" export BM_MYSQL_PORT="3306" # 压缩dump文件所用的格式 export BM_MYSQL_FILETYPE="bzip2" export BM_MYSQL_EXTRA_OPTIONS="" # 定义MySQLDUMP的命令行参数 export BM_MYSQL_EXTRA_OPTIONS="" # 指定分别备份每个数据库 export BM_MYSQL_SEPARATELY="true" # 指定排除的数据库,空格分隔 export BM_MYSQL_DBEXCLUDE="" ############################################################## # 备份方法: PostgreSQL ############################################################# # 定义指定的数据库列表 export BM_PGSQL_DATABASES="__ALL__" # 具有备份权限的数据库用户信息 export BM_PGSQL_ADMINLOGIN="root" export BM_PGSQL_ADMINPASS="" # 数据库所在的服务器信息 export BM_PGSQL_HOST="localhost" export BM_PGSQL_PORT="5432" # 压缩备份文件所用的格式 export BM_PGSQL_FILETYPE="bzip2" # 指定排除的数据库,空格分隔 export BM_PGSQL_EXTRA_OPTIONS="" ############################################################# # 备份方法: svn ############################################################# # 保存svn存储库的绝对路径 export BM_SVN_REPOSITORIES="" # 压缩XML文件 # 压缩可选: bzip2 and gzip export BM_SVN_COMPRESSWITH="bzip2" ############################################################## # 备份方法: pipe ############################################################# declare -a BM_PIPE_COMMAND declare -a BM_PIPE_NAME declare -a BM_PIPE_FILETYPE declare -a BM_PIPE_COMPRESS # 生成的档案名字 # $BM_ARCHIVE_PREFIX-$BM_PIPE_NAME.$DATE.$BM_PIPE_FILETYPE # 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" export BM_PIPE_COMMAND export BM_PIPE_NAME export BM_PIPE_FILETYPE export BM_PIPE_COMPRESS ############################################################## # 数据备份到远程主机 ############################################################# # 档案备份到远程主机的方法,以下方法可选: # - scp # - ssh-gpg # - ftp # - rsync # - s3 # - none export BM_UPLOAD_METHOD="" # 定义备份到的远程主机 export BM_UPLOAD_HOSTS="" # 定义远程主机的存放路径 export BM_UPLOAD_DESTINATION="" ############################################################## # SSH方法 ############################################################# # 定义远程服务器ssh信息 export BM_UPLOAD_SSH_USER="" export BM_UPLOAD_SSH_KEY="" export BM_UPLOAD_SSH_HOSTS="" export BM_UPLOAD_SSH_PORT="" # 定义远程主机的存放路径,覆盖export BM_UPLOAD_DESTINATION="" export BM_UPLOAD_SSH_DESTINATION="" # 上传前清理归档文件 export BM_UPLOAD_SSH_PURGE="true" # 定义档案的保存天数(生存时间) export BM_UPLOAD_SSH_TTL="" ############################################################## # SSH-GPG方法 ############################################################# # 填写SSH-GPG私钥 export BM_UPLOAD_SSHGPG_RECIPIENT="" ############################################################## # FTP方法 ############################################################# # 使用FTP安全传输,SSL加密上传,被动模式自动激活 export BM_UPLOAD_FTP_SECURE="false" # 使用FTP被动模式 export BM_UPLOAD_FTP_PASSIVE="true" # FTP传输超时(秒) export BM_UPLOAD_FTP_TIMEOUT="120" # 开始传输档案前发送2MB测试文件 export BM_UPLOAD_FTP_TEST="false" # FTP档案库的信息 export BM_UPLOAD_FTP_USER="" export BM_UPLOAD_FTP_PASSWORD="" export BM_UPLOAD_FTP_HOSTS="" # 上传前清楚远程主机上的归档文件 export BM_UPLOAD_FTP_PURGE="true" # 定义档案的保存天数(生存时间) export BM_UPLOAD_FTP_TTL="" # 归档文件保存的路径(覆盖BM_UPLOAD_DESTINATION) export BM_UPLOAD_FTP_DESTINATION="" ############################################################## # Amazon S3方法 ############################################################# # S3服务器信息,参阅http://aws.amazon.com export BM_UPLOAD_S3_DESTINATION="" export BM_UPLOAD_S3_ACCESS_KEY="" export BM_UPLOAD_S3_SECRET_KEY="" # 上传前清楚远程主机上的归档文件 export BM_UPLOAD_S3_PURGE="false" # 定义档案的保存天数(生存时间) export BM_UPLOAD_S3_TTL="" ############################################################## # RSYNC方法 ############################################################# # RSYNC备份的目录 export BM_UPLOAD_RSYNC_DIRECTORIES="" # RSYNC上传的目的地址 export BM_UPLOAD_RSYNC_DESTINATION="" # RSYNC远程主机 export BM_UPLOAD_RSYNC_HOSTS="" # 选择true则由备份软链接改为备份软链接所指的文件 export BM_UPLOAD_RSYNC_DUMPSYMLINKS="false" # 排除备份的路径 export BM_UPLOAD_RSYNC_BLACKLIST="" # 定义RSYNC的命令行参数 export BM_UPLOAD_RSYNC_EXTRA_OPTIONS="" # 传输带宽限制,例如32M,1024K,... export BM_UPLOAD_RSYNC_BANDWIDTH_LIMIT="" ############################################################## # 自动刻录-BURNING ############################################################# # 支持烧录的方法 : # - DVD : DVD介质上刻录归档 # # - DVD-RW : 清空DVD介质并烧录归档 # # - CDRW : 清空CDRW并烧录ARCHIVES_REPOSITORY或只是产生的归档文件 # # - CDR : 烧录ARCHIVES_REPOSITORY或只是产生的归档文件 # - none : 禁用刻录 export BM_BURNING_METHOD="none" # 使用MD5校验文件被正确烧录 export BM_BURNING_CHKMD5="false" # 指定cdrom设备 export BM_BURNING_DEVICE="/dev/cdrom" # 指定专用烧录设备,覆盖BM_BURNING_DEVICE export BM_BURNING_DEVFORCED="" # 使用Joliet光盘镜像 export BM_BURNING_ISO_FLAGS="-R -J" # 指定媒体的大小极限值 export BM_BURNING_MAXSIZE="650" ############################################################## # 高级选项 ############################################################# # 开启输出发送到syslog export BM_LOGGER="true" # 定义发送到syslog的消息级别,可选值debug,info,warning,error export BM_LOGGER_LEVEL="warning" # 定义用户 export BM_LOGGER_FACILITY="user" # 备份管理器执行任务前执行的命令 export BM_PRE_BACKUP_COMMAND="" # 备份管理器执行任务后执行的命令 export BM_POST_BACKUP_COMMAND=""
=============================================
https://github.com/sukria/Backup-Manager/
http://www.linuxidc.com/Linux/2015-01/111192.htm
没有评论