当前位置: 首页 > 工具软件 > Amanda > 使用案例 >

mysql&amanda备份

蔡理
2023-12-01

Linux服务器因为安装不规范,会导致后期各种问题,所以写下来不断完善,后期避免各种麻烦

1、时钟自动同步

定制自动定时

crontabl -e

设置为

0 12 * * *  /usr/sbin/ntpdate 192.168.0.1

这样,会在每天的12点整,同步一次时间。ntp服务器为192.168.0.1
0 12 * * * * /usr/sbin/ntpdate time.ihep.ac.cn
如果没装同步的ntpdate,下面指令安装,然后设置

yum -y install ntpdate

检查一下crontab服务是否启动,一般默认都是自动起好了

systemctl status crond

2、数据库备份

mysql早先版本备份是备份数据目录,后来发现还是用mysqldump稳妥,否则恢复会有麻烦
先创建账号专门用于mysqldump

grant select,reload,lock tables,replication client,show view,event,trigger,process on *.* to proposal@localhost identified by 'yourpasswd';

这里为什么授予了所有数据库(* .*)的权限,因为有些权限只能给所有,不能给单个数据库!
授权完,检查,用mysqldump命令尝试导出

写每天定时备份的bash脚本

#!/bin/bash

databases=("db1" "db2" "db3")
basepath='/data/backup'
if [ ! -d "$basepath" ]; then
  mkdir -p "$basepath"
fi
for db in ${databases[@]}
  do
  cd $basepath
    /usr/bin/mysqldump -hlocalhost -uYourUsername -p'YourPasswd $db > $db-$(date +%Y%m%d).sql
    find $basepath -mtime +7 -name "*.sql" -exec rm -rf {} \;
  done

说明:名字里写了日期,便于查看,留了7天的备份

定制自动导出

crontabl -e

设置为

00 03 * * * /bin/bash /home/backupsh/mysql_backup.sh

这样,会在每天的早3点整,执行导出脚本

3、amanda远程自动备份

使用的amanda自动备份,需要安装客户端
先安装依赖软件

yum -y install xinetd
yum -y install perl-JSON
yum -y install perl-XML-Simple
yum -y install perl-Encode-Locale

开始配置
http://twiki.ihep.ac.cn/twiki/view/CCSystem/Amanda/AmandaClient

  • 1、建用户 “amandabackup” uid=51202(amandabackup) gid=6(disk)
#useradd -u 51202 amandabackup -g disk -d /var/lib/amanda -s /bin/sh

修改amandabackup用户的属性 SHELL:/bin/sh HOME:/var/lib/amanda

  • 2、rpm安装
rpm -ivh amanda-backup_client-2.6.1-1.rhel4.x86_64.rpm (见附件)

查看是否有 /var/log/amanda/install.err报错信息

  • 3、查看vi /etc/xinetd.d/amandaclient文件:
service amanda
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = amandabackup
group = disk
groups = yes
server = /usr/libexec/amanda/amandad
server_args = -auth=bsdtcp amdump
}
  • 4、重启 xinetd
# /etc/init.d/xinetd restart 或者 /etc/rc.d/xinetd restart
或者
#service xinetd restart
#service xinetd status
或者
#systemctl stop xinetd

Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

  • 5、作为 amandabackup 用户
vi /var/lib/amanda/.amandahosts (增加下面几行)

bak10.ihep.ac.cn amandabackup amdump

客户端软件安装完成之后,还需要进行recovery的配置

  • 7、作为 amandabackup用户, 修改 vi /etc/amanda/amanda-client.conf 文件,添加以下内容
    配置参数全都是:bak10.ihep.ac.cn;Weekly_db,请咨询管理员获得这两项参数
# amanda.conf - sample Amanda client configuration file.
# This file normally goes in /etc/amanda/amanda-client.conf.

conf "Weekly_db" 
index_server "bak10.ihep.ac.cn" 
tape_server "bak10.ihep.ac.cn" 

# tapedev "/dev/null"
# auth - authentication scheme to use between server and client.
# Valid values are "bsd", "bsdudp", "bsdtcp" and "ssh".
# Default: [auth "bsdtcp"]

auth "bsdtcp" # your ssh keys file if you use ssh auth ssh_keys "/var/lib/amanda/.ssh/id_rsa_amrecover"
  • 8、修改防火墙配置
    要开放的防火墙端口10080(tcp,udp),10081(tcp,udp),10082(tcp),10083(tcp)
firewall-cmd --zone=public --add-port=10080/tcp --permanent 
firewall-cmd --zone=public --add-port=10080/udp --permanent 
firewall-cmd --zone=public --add-port=10081/tcp --permanent 
firewall-cmd --zone=public --add-port=10081/udp --permanent 
firewall-cmd --zone=public --add-port=10082/tcp --permanent 
firewall-cmd --zone=public --add-port=10083/tcp --permanent 
firewall-cmd --reload

查看端口是否开放

firewall-cmd --zone=public --query-port=10083/tcp

删除开放端口

firewall-cmd --zone=public --remove-port=10083/tcp --permanent
  • 9、问题

    安装是在一批服务器上装的,有linux5、Linux6、CentOS7
    7版本很好装
    6版本的没有对应的perl(Encode::Locale)包,解决不了报错

perl(Encode::Locale) is needed by amanda-backup_client-3.5-1.rhel6.x86_64

只能强制安装
rpm -ivh amanda-backup_client-3.5-1.rhel6.x86_64.rpm  --nodeps --force

这个缺的包是字符编码,不用中文应该影响不大


 类似资料: