实用指令_大数据shell_综合实例

WeChat2834 / 2023-08-28 / 原文

综合实例

需求分析

  1. 每天凌晨2:10分备份数据库agguigDB到/data/backup/db

  2. 备份开始和备份结束能给出相应的提示信息

  3. 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式。

    比如 2018-03-12_230201.tar.gz

  4. 在备份的同事,检查是否有10天前备份的数据库文件。如果有就将其删除。

##因为没数据库,所以以拷贝agguigDB文件为例
#!/bin/bash
echo date
echo 开始执行------------------
namedate =`date "+%Y_%m_%d_%H%M%S"`
echo `date` 开始执行备份文件  >> /date/backup/db/log/Dbback.log
tar -zcvf /date/backup/db$namedate.tar.gz -C /home/tmp/sqldb  agguigDB   ###-C是临时切换工作目录;因为目标文件是绝对路径的目录,在压缩的时候会连带目录一起压缩进去,解决方法所以需要cd到当前目录(cd /home/tmp/sqld)再进行打包和压缩或者用-C参数
echo `date` 备份完成 --------------生成文件 $name.tar.gz >>/date/backup/db/log/Dbback.log
###删除10天前的文件
find /date/backup/db/ -mtime +10 -name "*.tar.gz"  -exec rm -rf {}\;
echo ------------备份成功

###################最后加入定时crontab
10 2 * * *  /date/backup/db/mybackup.sh