方法/步驟
1. 在根目錄下新建定時備份存儲文件夾mkdir /mysql_backup
2.新建備份的腳本vim /root/mysql_backup.sh
3.在mysql_backup.sh中輸入內容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name 「abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
Ⅱ linux下定時備份Mysql
你的root沒有密碼嗎?
建議使用crontab+shell腳本來備份
#!/bin/bash
#
#Date:2014-9-25
USER=
PASSword=
DATABASE=
DIR=
DATE=`date'+%Y\%m\%d-%H:%M'`
DATE1=`date-dlast-month'+%Y\%m\%d-%H:%M'`
HOST=
LOG=/root/mysqlbk.log
COM=mysqlmp
DEL=$DATE1.sql
OPT="-h$HOST-u$USER-p$PASSWORD$DATABASE"
$COM$OPT>$DIR/$DATE.sql
if[$?-eq0]
then
SIZE=`-h$DIR/$DATE.sql|awk'{print$1}'`
rm-f$DIR/$DEL
echo"$DATE$SIZEMysqlbackupsuccessfully$DELwasremoved">>$LOG
else
echo"$DATEMysqlbackupfailed">>$LOG
fi
這是我自己寫的一個備份腳本,USER DATABASE 這是mysql的用戶名和密碼 DIR是備份的路徑
HOST是要備份的mysql的ip地址 我這里是遠程備份,如果你的是本地備份的話,可以把HOST給去掉,然後去掉OPT中 -h $HOST ,如果沒有密碼 就把PASSWORD去掉,還有OPT中的-p 選項以及$PASSWORD , if語句是判斷腳本是否執行成功 好吧 如果有什麼不明白的再問我吧
Ⅲ 如何在linux下實現mysql資料庫每天自動備份
把以前寫的一個發你看看
腳本要求: 編寫shell腳本,每天凌晨1點備份td_oa庫,到mysql-back目錄,並將備份文件壓縮,壓縮名稱為備份的日期,只保留連續七天的備份文件
#!/bin/bash
mysql -uroot -p123456 -e "flush tables with read lock;" 鎖住表
/usr/local/mysql/bin/mysqlmp -uroot -p123456 td_oa --flush-logs --single-transaction > td_oa.sql &>/dev/null #如果啟動了binlog,--flush-logs 刷新日誌,--single-transaction 保證數據的一致性
mysql -uroot -p123456 -e "unlock tables;" 解鎖
a=`/bin/date +%Y-%m-%d` #在這里加上時間,壓縮的時候加上時間,會失敗。
echo $a
cd /gxl
/bin/tar -czf $a.tar /fjp/td_oa.sql
b="$a.tar"
cp -p $b /root/fjp
for c in `find /root/fjp -ctime +7`
do
/bin/rm -rf $c
done
Ⅳ 如何在linux下實現每天自動備份mysql資料庫
方法/步驟
1. 在根目錄下新建定時備份存儲文件夾mkdir /mysql_backup
2.新建備份的腳本vim /root/mysql_backup.sh
3.在mysql_backup.sh中輸入內容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name 「abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
——————————————————————————————
說明:
backupdir = 備份文件存儲文件夾time = 獲取當前時間 年月日時(2014111417)2014年11月14日17點mysqlmp 備份資料庫指令 abc要備份的資料庫find $backupdir -name 「abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 刪除5天前的備份文件
3 :wq 文件保存成功後
先按一下鍵盤上的 " esc " 然後輸入 」 :wq 「
執行一下腳本,看根目錄下的mysql_backup文件夾是否有.sql.gz後綴名的文件
./mysql_backup.sh
寫入每天的定時任務 修改 /etc/crontabvi /etc/crontab
按鍵盤上的"i",開始輸入
02 4 * * * root /root/mysql_backup.sh
表示每天4點2分執行備份任務
先按一下鍵盤上的 " esc " 然後輸入 」 :wq 「 表示保存
重新啟動crond
service crond restart 或 /etc/rc.d/init.d/crond restart
Ⅳ linux下如何自動備份mysql資料庫
1. 寫個自動備份的腳本autobackup.sh,內容如下
#!/bin/bash
mysqlmp -p databasename > mydata.sql
2. 更改其為可執行文件 chmod +x autobackup.sh
3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e
0 0 * * * /路徑到/autobackup.sh
第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周
Ⅵ 如何在linux下實現mysql資料庫每天自動備份
1、你的表都是myisam,且訪問量少,可以考慮直接用linux的cp命復,定時復制; 2、你的表都是myisam,有一定的訪問量,可以考慮mysqlhot,mysql自帶; 3、你的表有innodb,訪問量少,可以考慮mysqlmp,mysql自帶; 4、你的表有innodb,訪問量大,可以考慮xtrabackup,第三方軟體,自行度娘; 5、你的表訪問量極大,要求高可用,那你要請DBA定製了;
Ⅶ 怎麼linux下定時備份mysql資料庫備份
1、查看磁碟空間情況:
既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的存儲介質;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、創建備份目錄:
上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;
cd /home
mkdir backup
cd backup123123
3、創建備份Shell腳本:
注意把以下命令中的DatabaseName換為實際的資料庫名稱;
當然,你也可以使用其實的命名規則!
vi bkDatabaseName.sh11
輸入/粘貼以下內容:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212
對備份進行壓縮:
#!/bin/bash
mysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212
注意:
把 username 替換為實際的用戶名;
把 password 替換為實際的密碼;
把 DatabaseName 替換為實際的資料庫名;
4、添加可執行許可權:
chmod u+x bkDatabaseName.sh11
添加可執行許可權之後先執行一下,看看腳本有沒有錯誤,能不能正常使用;
./bkDatabaseName.sh11
5、添加計劃任務
檢測或安裝 crontab
確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
# crontab
-bash: crontab: command not found
Ⅷ Linux下mysql資料庫如何定期備份與刪除
首先,創建備份文件夾mkdir /mysql/mysqldata_bakeup;創建並編輯文件在路徑 /usr/sbin/bakmysql,命令:vi /usr/sbin/bakmysql。此時會在/usr/sbin/路徑下創建bakmysql文件,並進入bakmysql編輯狀態,接著輸入;fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data 然後修改文件bakmysql屬性,使其可執行chmod +x /usr/sbin/bakmysql 修改/etc/crontab vi /etc/crontab 進入編輯狀態,在最下面添加:01 3 * * * root /usr/sbin/bakmysql
01 3 是每天凌晨3:01執行 bakmysql文件;懂了嗎?
Ⅸ mysql 在linux下如何進行指定的資料庫定時備份與刪除XX天以前的備份文件
利用mysql提供的mysqlmp進行全量備份,利用二進制進行增量備份,利用主從結構利用從伺服器進行備份等等,開自己怎麼用了