需求:要求每天凌晨3點自動備份資料庫,檔案命名格式為db_備份時間,要求以壓縮包形式存在伺服器中
在伺服器上新建乙個指令碼 backupshell.sh
#!/bin/sh
#database info
db_user=
"使用者名稱"
db_pass=
"資料庫密碼"
db_host=
"localhost"
db_name=
"要備份的資料庫名字"
#other vars
bin_dir=
"mysql的bin路徑"
#the mysql bin path
bck_dir=
"需要備份在哪個資料夾"
#the backup file directory
date=
`date +%f`
#file name by date
#todo
#$bin_dir/mysqldump --opt -u$db_user -p$db_pass -h$db_host $db_name > $bck_dir/db_$date.sql
$bin_dir/mysqldump --opt -u$db_user -p$db_pass -h$db_host
$db_name --skip-lock-tables |
gzip
>
$bck_dir/db_$date.sql.gz
設定定時任務
crontab: 定時任務的守護程序
常見命令引數
usage: crontab
[-u user]
file
crontab
[-u user]
[ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
命令構成crontab的命令構成為 時間+動作,其時間有分、時、日、月、周五種,操作符有
* 取值範圍內的所有數字
/ 每過多少個數字
- 從x到z
,雜湊數字
例項1:每1分鐘執行一次mycommand
* * * * * mycommand
例項2:每小時的第3和第15分鐘執行
3,15 * * * * mycommand
例項3:在上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * * mycommand
編輯定時任務 crontab -e
00 03 * * * /bin/sh 指令碼路徑/backupshell.sh
可以用 crontab -l 檢視定時任務
****************************************====
更多命令構成例項可以檢視下方鏈結進行了解
mysql 備份資料庫指令碼
一段常用db備份指令碼 1 bin bash 2 create by yunfei.heyf 3 program for backup mysql with mysqldump 4 5 6 bakdir home admin backup 7 dumpcmd usr bin mysqldump ur...
MySQL定時備份資料庫shell指令碼
資料庫匯出,主要用到mysqldump 命令 mysqldump h db host u db user p db user passwd dbname todaybackuppath dbname sql 具體指令碼如下 db host localhost db user root db user...
mysql備份資料庫
一般伺服器上沒有分使用者的時候mysql使用者名稱可以用 root 得到最高許可權.ubuntu下使用mysql命令匯入 匯出 sql檔案 redhat的mysql命令在 usr local mysql bin 目錄下面 匯出 1.匯出整個資料庫 mysqldump u 使用者名稱 p密碼 資料庫名...