1、脚本功能
日常开发中会有很多场景需要我们去备份系统的配置文件、日志数据等等,本脚本可以定时备份linux的某个文件夹。自动删除X天前的备份数据,灰常的好用。
[root@backup syslog]# more syslog.sh
#!/bin/bash
#bakup system logs
yesterday=`date -d -1day +%Y-%m-%d`
cat /backup/syslos/ip.txt|grep -v ^#|while read ip;
do
log_dir=`echo $ip|awk '{print $1}'`
if [ ! -d "/backup/syslog/$log_dir/$yesterday" ];then
mkdir -p /backup/syslog/$log_dir/$yesterday
fi
rsync -avz -e ssh root@$ip:/var/log/messages /backup/syslog/$log_dir/$yesterday
rsync -avz -e ssh root@$ip:/var/log/secure /backup/syslog/$log_dir/$yesterday
rsync -avz -e ssh root@$ip:/var/log/boot.log /backup/syslog/$log_dir/$yesterday
rsync -avz -e ssh root@$ip:/var/log/cron /backup/syslog/$log_dir/$yesterday
rsync -avz -e ssh root@$ip:/var/log/lastlog /backup/syslog/$log_dir/$yesterday
rsync -avz -e ssh root@$ip:/var/log/audit/audit.log /backup/syslog/$log_dir/$yesterday
cd /backup/syslogs/$log_dir/$yesterday && tar -zcvf syslog.tar.gz .
find . -type f -not -name '*.tar.gz' -exec rm -f {} +
done
find /backup/syslogs/ -type f -name "*.tar.gz" -mtime +90 -exec rm -f {} \;
2、定时执行
通过linux自带的corntab来实现脚本的定时备份,这里我们定义每天0点备份一次日志
0 0 * * * cd /backup/syslog && bash syslog.sh
----------------------end---------------------
推荐阅读
5.MySQL8.0 DBA存储架构+存储引擎+SQL优化+InnoDB的存储架构
6.企业级Elasticsearch 8.X技术来临!性能优化与集群部署 基础与进阶全面实战
10.企业级微服务API网关架构实战Nginx+Lua+Openresty
11.高级运维工程师的打怪升级之路 Docker+Jenkins+Kubernetes
12.下载链接-Docker+K8S的高可用集群+自建集群实战
13.Kubernetes持久化实战 K8S集群部署+Jenkins自动化构建
14.企业级Redis入门到精通 Redis基础+进阶+实战应用+项目实战
如果本文对你有帮助的话,欢迎点赞&在看&转发,这对我继续分享&创作优质文章非常重要。感谢🙏🏻,需要学习资料的私信留言!
请点赞→点亮“在看”→分享
↓↓↓