吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 833|回复: 1
收起左侧

[学习记录] 常用的日志备份脚本

[复制链接]
BUGMrLi 发表于 2023-5-25 10:37
MySQL数据库备份脚本
[Bash shell] 纯文本查看 复制代码
      #!/bin/bash
DAY=`date +%Y%m%d`
SIZE=`du -sh /var/lib/mysql`
echo "Date: $DAY" >> /tmp/dbinfo.txt
echo "Data Size: $SIZE" >> /tmp/dbinfo.txt
cd /opt/dbbak &> /dev/null || mkdir /opt/dbbak
tar zcf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt &> /dev/null
rm -f /tmp/dbinfo.txt
 
crontab -e
55 23 */3 * * /opt/dbbak/dbbak.sh
#mkdir /mysqlbak 
#mkdir /mysqlbinlog
#service mysqld start
cd /shell
#vi webdb.sh
#!/bin/bash
day=`date +%F`
mysqldump -hlocalhost -uroot -p123 webdb > /mysqlbak/webdb-${day}.sql
mysql -hlocalhost -uroot -p -e "flush logs"
tar zcf /mysqlbinlog.tar.gz /var/lib/mysql/mysqld-bin.0*
#chmod +x webdb.sh 
#crontab -e
30 24 * * 7 /shell/webdb.sh
#每周日半夜24点半,对数据库服务器上的webdb库做完整备份
#每备份文件保存到系统的/mysqlbak目录里
#用系统日期做备份文件名 webdb-YYYY-mm-dd.sql
#每次完整备份后都生成新的binlog日志
#把当前所有的binlog日志备份到/mysqlbinlog目录下

Linux日志备份脚本
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
:<<BLOCK
每天1:00 备份/var/log 目录下前一天的日志文件并存放在当前目录中btslog 目录中,
然后删除15天前的log备份文件,实用shell脚本完成。日志格式:btsvr.log.2020-09-30,
打包备份文件搁置为btsvr.log.2020-09-30,.tar.gz
BLOCK
 
yesterday=$(date  +"%Y-%m-%d" -d  "-1 days")
backupdir=/server/backup/btslog
[ ! -d $backupdir ] && mkdir -p $backupdir 
 
backup_yes() {
    cd ${backupdir}
    mv /var/log/btsvr.log.${yesterday} ${backupdir}
    tar -czvf btsvr.log.${yesterday}.tar.gz btsvr.log.${yesterday}
    
    if [ $? -eq 0 ];then
        rm -f ./btsvr.log.${yesterday}
    fi
}
 
delete_old() {
    find ./ -name "*.tar.gz" -ctime +15  -exec rm -rf {} \;
}
backup_yes
delete_old
# crontab -e 定时任务
# 0 1 * * * /bin/bash /server/scripts/bak_log.sh &> /dev/null

Windows日志备份脚本
[Bash shell] 纯文本查看 复制代码
//客户根据自己的需求进行更改,也可以将目录替换成中间件的日志地址进行备份。
 
@echo off
 
set dir=C:\backup\log\winevt
set tobeBackupDir=C:\Windows\System32\winevt\Logs
echo -------------------------
echo 待备份目录:%tobeBackupDir%
echo -------------------------
if not exist %tobeBackupDir% (
    echo.
    echo 待备份目录不存在,请检查!
    goto :end
)
goto :backup
 
::备份方法
:backup
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
set backupDir=%dir%-%ymd%
echo.
echo *********备份开始*********
echo -------------------------
echo 备份目录:%backupDir%
echo -------------------------
 
if not exist %backupDir% (
    mkdir %backupDir%
)
::/e:拷贝所有子目录(包括空子目录)。
::/d:只拷贝文件日期与在目标文件后的文件(即修改过的源文件)。
::/h:同时拷贝隐藏文件和系统文件。
::/y:复制文件审核设置(不显示已有文件覆盖确认)。
xcopy /e/d/h/y %tobeBackupDir% %backupDir%
echo *********备份结束*********
 
::结束程序
:end
echo.
pause



免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
ql_zth + 2 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

越洋吟月 发表于 2023-5-25 15:57
学习了。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表