利用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分進行數據庫的備份