服务器编写备份脚本
(脚本参考了其他优秀作者,但都是一些基础的命令)
cat /backup/backup.sh
#!/bin/bash
#author wsm
#date 2020-5-21
#获取当前时间
now=`date +"%Y-%m-%d %H:%M:%S"`
#记录日志
echo "开始备份devops平台数据,日期:${now}" >> /backup/backup-devops.log
now1=`date +"%Y-%m-%d"`
#打包项目所涉及的目录
tar zcP -f /backup/devops-${now1}.tar.gz /mnt/* #我这里简单粗暴都打包了,不建议这样,很耗空间,最好备份最重要不可替代的文件
#打包zabbix相关配置文件
tar zcP -f /backup/zbx_server_conf-${now1}.tar.gz /etc/zabbix/zabbix_server.conf
tar zcP -f /backup/zbx_agent_conf-${now1}.tar.gz /etc/zabbix/zabbix_agentd.conf
#如果你有其他重要业务需要备份,就如法炮制
#备份mysql数据库
mysqldump -uroot -p奇奇怪怪的密码 -A |gzip > /backup/all-${now1}.sql.gz
#定时清理30天前备份
find /backup/ -type f -mtime +30 -exec rm -f {} \;
#获取完成时间
#完成日志
echo "完成备份devops平台数据,日期:${now}" >> /backup/backup-devops.log
给脚本执行权限:
chmod +x /backup/backup.sh
编写定时任务
每月22号备份
crontab -e
# 每月22号执行一次
0 0 22 * * /usr/bin/sh /tools/scripts/backup.sh > /dev/null 2>&1 &
注意:所有脚本写完都要测试是否符合你的要求!
网友评论