centos配置ES和MYSQL自动备份
为什么要记录操作过的命令
记录自己执行过的命令对于技术人员来说非常重要,主要有以下好处:
- 故障排查与回溯:当系统出现问题时,可以快速查看之前执行了什么操作
- 知识积累:将常用命令记录下来形成个人知识库
- 提高效率:避免重复查找相同命令的用法
- 团队协作:方便分享给其他同事参考
MYSQL自动备份
bash
#!/bin/bash
#This scripts is for auto backup databases
#create by weijb at 2021-07-28
#delete data from 7 day before
DATAdelete=`date +%F -d "-7 day"`
rm -rf /var/local/backups/mysql_backup/*_${DATAdelete}_*.sql
DATA=`date +%Y-%-m-%d_%-H-%-M-%-S`
/var/local/mysql-5.7.20/bin/mysqldump -h127.0.0.1 -uroot -proot --compact -B rtcp > /var/local/backups/mysql_backup/rtcp_${DATA}.sql
ES自动备份
bash
#!/bin/bash
#This scripts is for auto backup databases
#create by weijb at 2021-07-28
#delete data from 1 day before
DATAdelete=`date +%Y%m%d%H%M%S -d "-1 day"`
echo '删除时间' ${DATAdelete}
curl -u elastic:123456 -XDELETE http://192.168.1.24:9200/_snapshot/es_backup/${DATAdelete}
DATA=`date +%Y%m%d%H%M%S`
echo '备份时间' ${DATA}
curl -u elastic:123456 -XPUT http://192.168.1.24:9200/_snapshot/es_backup/${DATA}?wait_for_completion=true -H 'Content-Type: application/json' -d '{"indices": "bookstrash"}'
echo '备份完成================'
定时任务
bash
# 加载任务使其生效
crontab /etc/crontab (每一次的改动都需要执行,否则不生效)
# 查看任务
crontab -l
# 直接编辑
vim /etc/crontab
# CRON表达式
* 1 * * * root sh /var/local/backups/mysql_backup/backup3306.sh
* 1 * * * root sh /usr/local/elasticsearch/backups/mysql_backup