linux实现mysql每日自动备份和自动删除上个月的备份文件

创建文件夹

mkdir /home/backup/mysql

创建一个脚本文件 mysqlback.sh 放在 /home/backup 目录下,脚本内容如下

#用户名
db_user="root"
#密码
db_password="123"
#数据库
db_name="aaa"
# date format for backup file (yyyyMMdd_hhmmss)
time="$(date +"%Y%m%d_%H%M%S")"
backup_dir="/home/backup/mysql"
#注意:/usr/local/mysql/bin/mysqldump 要替换为自己的文件路径
/usr/local/mysql/bin/mysqldump -u$db_user -p$db_password $db_name > $backup_dir/$db_name_$time.sql
#删除一个月之前的备份
find $backup_dir -name $db_name"*.sql.gz" -type f -ctime +30 -exec rm -rf {} \; > /dev/null 2>&1

添加权限

chmod u+x mysqlback.sh

设置编码

vi mysqlback.sh
:set ff=unix 
:wq

检查脚本,运行成功会在mysql文件夹下生成.sql文件

./mysqlback.sh

确认crontab是否安装

crontab -l

如果报 “command not found” ,就说明该crontab服务没有安装 如果报 “no crontab for root” ,就说明已经安装crontab服务了, 不用再安装了

安装命令如下

yum -y install vixie-cron
yum -y install crontabs

启动服务

service crond start

设置开机自启动

chkconfig --level 345 crond on

检测cron定时服务是否自启用

systemctl is-enabled crond.service

enable表示已启用自启动
disable标识未启用自启动

开启cron自启用

systemctl enable crond.service

cron关闭自启动

systemctl disable crond.service

添加计划任务

crontab -e
再按下 a 键进入到编辑模式
00 20 * * * /home/backup/mysqlback.s
按下 ctrl+c 退出编辑模式
:wq

控制台回显“crontab:installing new crontab” 表示添加调度任务成功。

重启

service crond restart

在这里插入图片描述

查看crond状态是否开启

service crond status

在这里插入图片描述

查看定时任务列表

crontab -l

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在 MySQL 中,可以使用以下几种方法来自动备份数据库: 1. 使用 mysqldump 命令:通过定时任务(如 cron)来执行 mysqldump 命令,将数据库的数据转存到备份文件中。 2. 使用脚本:编写 shell 脚本或 Python 脚本等,定时执行该脚本,自动导出数据库数据。 3. 使用 MySQL 管理工具:比如 MySQL Workbench,提供了图形界面,可以方便地管理数据库备份。 根据个人需求和环境不同,可以选择合适的方法来自动备份 MySQL 数据库。 ### 回答2: 在MySQL中,可以使用多种方式来自动备份数据库。 其中一种常用的方式是使用定时任务工具,如cron(Linux系统)或Task Scheduler(Windows系统)。通过创建一个定时任务,我们可以编写一个脚本或命令来执行数据库备份的操作。 以下是一个使用cron来实现自动备份数据库的示例: 1. 打开终端并输入`crontab -e`来编辑cron任务。 2. 在打开的文件中添加一行类似于以下的命令: ``` 0 3 * * * mysqldump -u <用户名> -p<密码> <数据库名> > /路径/到/备份目录/备份文件名.sql ``` 这个命令会在每天凌晨3点执行数据库备份,并将备份文件保存在指定目录下。 另一种方式是使用MySQL提供的工具,如mysqldump和mysqlpump。这些工具可以通过命令行执行数据库备份操作,并提供了各种选项来控制备份的方式和内容。 以下是一个使用mysqldump来自动备份数据库的示例: 1. 创建一个名为`backup.sh`的Shell脚本文件,并在其中编写以下内容: ```bash #!/bin/bash mysqldump -u <用户名> -p<密码> <数据库名> > /路径/到/备份目录/备份文件名.sql ``` 2. 保存并退出编辑器后,使用`chmod +x backup.sh`命令将脚本文件修改为可执行文件。 3. 使用cron或其他定时任务工具,设置定时执行此脚本文件。 无论是使用定时任务还是命令行工具,自动备份数据库都需要提供正确的用户名、密码和数据库名,以及指定备份文件的路径和名称。同时,还应该确保备份文件的存储位置具有足够的磁盘空间来存储备份文件。 ### 回答3: 在MySQL中,可以使用多种方式来自动备份数据库。 1. 使用MySQL提供的内置工具:MySQL提供了多个内置工具来备份数据库,其中最常用的是mysqldump命令。可以通过编写一个shell脚本,使用该命令来备份数据库并定期执行该脚本来实现自动备份。 2. 使用第三方备份工具:有许多第三方备份工具可以帮助自动备份MySQL数据库,如Percona XtraBackup、MyDumper等。这些工具提供了更高效和灵活的备份和还原功能,并且支持增量备份和并行备份。 3. 使用计划任务:在Linux系统中,可以使用cron来设置定时任务执行备份脚本。通过设置适当的定时规则,可以实现每天、每周或每月自动备份数据库。 4. 使用存储过程:MySQL支持使用存储过程来备份数据库。可以编写一个存储过程,在其中执行备份命令,并将该存储过程与定时任务结合起来实现自动备份。 5. 使用复制功能:MySQL的复制功能可以将主数据库上的数据复制到备份数据库上。可以设置一个备份服务器,将其配置为主数据库的从服务器,并定期对从服务器进行备份。这样可以实现实时备份和容灾。 需要注意的是,在备份过程中要确保备份的数据完整性和一致性。在进行生产环境的数据库备份前,应该先对备份过程进行测试,并考虑备份策略、备份存储和备份恢复等方面的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值