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
#useradd -u 51202 amandabackup -g disk -d /var/lib/amanda -s /bin/sh
修改amandabackup用户的属性 SHELL:/bin/sh HOME:/var/lib/amanda
rpm -ivh amanda-backup_client-2.6.1-1.rhel4.x86_64.rpm (见附件)
查看是否有 /var/log/amanda/install.err报错信息
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
}
# /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 ]
vi /var/lib/amanda/.amandahosts (增加下面几行)
bak10.ihep.ac.cn amandabackup amdump
客户端软件安装完成之后,还需要进行recovery的配置
# 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"
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
这个缺的包是字符编码,不用中文应该影响不大