mysql数据库备份sh脚本,数据库备份shell脚本

发布时间:2022-11-21

本文目录一览:

  1. Linux 怎么shell脚本定时备份mysql数据库
  2. 如何在linux下实现mysql数据库每天自动备份
  3. 如何使用shell脚本每天自动备份mysql数据库
  4. linux系统下mySQL数据库 备份方法和脚本?
  5. 有数据库账号密码IP地址 有什么软件可以把数据库的文件按时自动倒过来
  6. 基于 mysql 镜像的定时自动备份数据和清除过期备份

Linux 怎么shell脚本定时备份mysql数据库

每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据; 需求:

  1. 每天4点备份mysql数据;
  2. 为节省空间,删除超过3个月的所有备份数据;
  3. 删除超过7天的备份数据,保留3个月里的10号、20号、30号的备份数据;

创建shell文件

vim backup_mysql.sh

脚本内容如下:

mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;

创建定时任务

crontab -e

添加以下内容:

4 * * * * /data/dbdata/backup_mysql.sh

如何在linux下实现mysql数据库每天自动备份

方法/步骤

  1. 在根目录下新建定时备份存储文件夹:
    mkdir /mysql_backup
    
  2. 新建备份的脚本:
    vim /root/mysql_backup.sh
    
  3. mysql_backup.sh 中输入内容:
    backupdir=/mysqlbackup
    time=`date +%Y%m%d%H`
    mysqldump -uroot -proot abc | gzip > $backupdir/abc$time.sql.gz
    find $backupdir -name "abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
    

说明:

  • backupdir:备份文件存储文件夹;
  • time:获取当前时间,格式为 2014111417(2014年11月14日17点);
  • mysqldump:备份数据库指令,abc 为要备份的数据库;
  • 删除5天前的备份文件。

执行脚本:

./mysql_backup.sh

写入每天的定时任务:

vi /etc/crontab

添加以下内容:

02 4 * * * root /root/mysql_backup.sh

表示每天4点2分执行备份任务。 重启crond服务:

service crond restart
# 或
/etc/rc.d/init.d/crond restart

如何使用shell脚本每天自动备份mysql数据库

  • mysql备份使用自带的备份工具 mysqldump
  • 每天自动执行使用 cron 工具,将mysql的备份命令放在 .sh 文件中;
  • .sh 文件放在 /etc/cron.daily 目录,就会每天自动执行。

linux系统下mySQL数据库 备份方法和脚本?

数据库备份

  1. 创建备份存储目录:
    mkdir /root/backup/
    
  2. 以下内容写入 dbbackup.sh
    #!/bin/bash
    cd /root/backup/
    mysqldump -uroot -pmima123 datatest > /root/backup/datatest`date +%Y-%m-%d`.sql
    mysqldump -uroot -pmima123 datatest1 > /root/backup/datatest1`date +%Y-%m-%d`.sql
    
  3. 给脚本添加执行权限:
    chmod +x dbbackup.sh
    

有数据库账号密码IP地址 有什么软件可以把数据库的文件按时自动倒过来

可以使用 mysqldump 命令进行MySQL备份。

  1. 创建MySQL数据库备份脚本 bktest.sh,主要用到 mysqldump 命令,传入用户名、密码和数据库名,压缩重定向到备份目录;
  2. bktest.sh 脚本添加执行权限,然后执行脚本测试是否能正常备份;
  3. 使用 crontab 将这个备份脚本添加到定时任务中,运行以下命令:
    crontab -e
    
    添加定时任务,例如每分钟运行一次备份脚本测试:
    * * * * * /path/to/bktest.sh
    

基于 mysql 镜像的定时自动备份数据和清除过期备份

  • 系统:CentOS 7;
  • MySQL版本:MySQL 8;
  • 备份方式:使用 mysqldump 命令;
  • 脚本文件:mysql_backup.sh,放置在 /home/test/db_bk 文件夹下;
  • 执行脚本后,会在挂载路径下生成 /backup/日期 文件夹,里面包含备份的 .sql 文件;
  • 当需要恢复备份时,执行对应的 .sql 文件即可。

定时任务配置

Linux 内置的 cron 进程可用于开启定时任务。

进入 cron 编辑器:

crontab -e

示例定时任务:

* 1 * * * /home/test/db_bk/mysql_backup.sh

表示每天1点执行备份脚本。

查看定时任务:

crontab -l

恢复备份

可以将备份的 .sql 文件导出,然后使用 Navicat 等工具执行 .sql 文件进行恢复。

注意:需要设置字符集,否则会乱码:

mysql -u [用户] -p --default-character-set=utf8mb4