繁體中文
  新闻搜索
 
  热门新闻
mysql数据库自动备份删除
发布者:admin发布时间:2024-03-14 09:06:50阅读:103

Linux信创系统下Mysql数据库保存着关键的数据, 定期自动备份,然后删除早期备份数据库可以确保数据安全。

具体操作也非常简单,本文以图文源代码方式直接展示如何操作。

第一步:编写Mysql自动备份删除文件

内容如下:大家可以自行下载内容存储为 mysqlbackup.sh 文件即可。

#!/bin/bash

#保存备份个数,备份15天数据

number=15

#备份的文件需要保存在哪里

backup_dir=/home/data/

#日期

dd=`date +%Y-%m-%d-%H:%M:%S`

#mysql导出数据库的命令

#tool=mysqldump

tool=/usr/local/mysql/bin/mysqldump

#数据库用户名

username=root

#数据库密码

password="@Cy123456&"

#将要备份的数据库名称

database_name=tmpcy

#如果文件夹不存在则创建

if [ ! -d $backup_dir ];

then

mkdir -p $backup_dir;

fi

chmod 777 -R $backup_dir

#通过以下拼接成一条mysql导出数据库的命令,备份多个数据库或者全部数据库,可以修改这条命令,具体可参考附录1

#简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql

$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql

#写创建备份日志

echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt

#找出需要删除的备份

delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`

#判断现在的备份数量是否大于$number

count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`

if [ $count -gt $number ];

then

#删除最早生成的备份,只保留number数量的备份

rm $delfile

#写删除文件日志

echo "delete $delfile" >> $backup_dir/log.txt

fi

第二步:利用linux自带的crontab任务管理器设置定时执行shell文件。

在 /etc/crontab 文件中添加任务

vim /etc/crontab

添加以下命令即可,总共是5个时间(分 时 日 月 周)参数,加上用户,Shell文件名。

58 16 * * * root /home/huf/mysqlbackup.sh

具体含义是: 分 时 日 月 周 用户 Shell命令文件

crontab添加执行文件

修改完毕后,注意执行命令 service cron restart

重启一下计划任务即可,简单两步就可以搞定,欢迎大家留言讨论。

扫码关注

超易软件公众号
点击我开始咨询
客服528: 
点击我开始咨询
客服408: 
请扫我

微信客服1
电话:020-82327296
手机:13570098458
扫码添加客服

微信客服2

联系电话:020-82327296 ,13570098458   QQ:52813524  515044158  

微信:13570098458 13694203350

广州市超易信息科技有限公司 广州市天河区黄村东路8号启星商务中心C区A栋3楼
2001-2024 Copyright 粤ICP备12040267号-5 粤公网安备 44010602004912号

欢迎加V咨询,留言必复,手机微信号同步
微信扫描咨询

客服:13694203350

客服:13570098458
扫码关注

超易软件公众号
固定电话:020-82327296