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
重启一下计划任务即可,简单两步就可以搞定,欢迎大家留言讨论。
联系电话:020-82327296 ,13570098458   QQ:52813524  515044158  
微信:13570098458 13694203350
广州市超易信息科技有限公司 广州市天河区黄村东路8号启星商务中心C区A栋3楼