利用shell脚本实现对mysql数据库的备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/bin/bash
#保存备份个数
number=3
#备份保存路径
backup_dir=/root/mysqlbackup
#日期
dd=`
date
+%Y%m%d`
#备份工具
tool=mysqldump
#用户名
username=mracale
#密码
password=456852
#将要备份的数据库
database_name=test
#简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-
$filename
.dump
$tool
-u
$username
-p
$password
$database_name
>
$backup_dir
/
$database_name
-
$dd
.dump
#写创建备份日志
echo
"create $backup_dir/$database_name-$dd.dupm"
>>
$backup_dir
/log.txt
#找出需要删除的备份
delfile=`ls -l -crt
$backup_dir
/*.dump | awk
'{print $9 }'
| head -1`
#判断现在的备份数量是否大于
$number
count
=`ls -l -crt
$backup_dir
/*.dupm | awk
'{print $9 }'
| wc -l`
if
[
$count
-gt
$number
]
then
rm
$delfile
//删除最早生成的备份,只保留number数量的备份
#写删除文件日志
echo
"delete $delfile"
>>
$backup_dir
/log.txt
fi
|
定时时需要在 /etc/crontab 加入以下代码
30 5 * * * /root/users.sh
上边表示在每天的5点30分进行数据库的备份