#!/bin/bash
# 备份 MySQL 的 shell 脚本(mysqldump版本)
# 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签)
# dbname(需要备份的数据库名称,根据实际需求需要修改该变量的值,默认备份 mysql 数据库)
# crontab ‐e 添加到定时任务中
user=root
dbname=preview
passwd=123456
date=$(date +%Y%m%d)
# 测试备份目录是否存在,不存在则自动创建该目录
[ ! -d /home/mysqlbackup ] && mkdir /home/mysqlbackup
# 使用 mysqldump 命令备份数据库
mysqldump --socket=/tmp/mysql.sock -u"$user" -p"$passwd" "$dbname" > /home/mysqlbackup/"$dbname"-${date}.sql
# 压缩
cd /home/mysqlbackup
tar -zcvf "$dbname"-${date}.sql.tar.gz "$dbname"-${date}.sql
rm "$dbname"-${date}.sql
# 删除7天前的备份文件
find /home/mysqlbackup/ -type f -mtime +7 -exec rm -f {} \;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了