linux的crontab定時服務備份mysql資料
版權宣告:歡迎轉載,請註明沉默王二原創。 https://blog.csdn.net/qing_gee/article/details/49506313
利用Linux的crontab定時服務備份mysql資料。
一、庫檔案備份
庫檔案備份,我建議一週一次(當然,我的專案規模一般,然後至於怎麼一週一次,稍候我們再聊了)
#!/bin/bash
date_now=`date +%Y_%m_%d_%H%M%S`
mysqldump -uroot -plixiaoli --flush-logs --master-data=2 maweiqing>/home/backup/${date_now}.sql &&
zip -r /home/backup/${date_now}.zip /home/backup/${date_now}.sql
rm -f /home/backup/${date_now}.sql
- 獲取當前日期,作為庫檔案備份的檔名
- mysqldump命令對資料庫maweiqing備份到20151030.sql中
- zip命令對檔案壓個縮。
- rm命令刪除sql檔案
二、二進位制日誌備份
二進位制檔案備份,我建議早晚各一次了。
#!/bin/bash
date_now=`date +%Y_%m_%_d_%H%M%S`
filename=mysql-bin
filesuffix_max=0
filesuffix_lastbutone=0
mysqlpath=/var/lib/mysql/
backuppath=/home/backup/mysqlbinarylog/
mysqladmin -uroot -plixiaoli flush-logs &&
for fname in `ls $mysqlpath`
do
filesuffix=${fname##*.}
isnum=`expr match ${filesuffix} `[0-9][0-9]*$``
if [ $isnum ] && [ $isnum -ne 0 ] && [ $filesuffix -gt $filesuffix_max ]
then
filesuffix_lastbutone=$filesuffix_max
filesuffix_max=$filesuffix
fi
done &&
filefullname=${filename}.${filesuffix_lastbutone}
cp $mysqlpath$filefullname $backuppath &&
zip ${backuppath}${date_now}${filefullname}.zip $backuppath$filefullname &&
echo "done"
1. 注意,二進位制日誌備份,需要mysql開啟二進位制日誌。
2. 其檔案路徑是在/var/lib/mysql/路徑下面。
3. mysqladmin 命令進行二進位制日誌備份。
說到這,我覺得我要提醒你點什麼,以免你照做後出現錯誤來找我(如果你要來找我,我覺得挺樂意的)。
- 上面兩個檔案列出的路徑,你一定要檢查是否存在,如果不存在,就mkdir一下。
- zip命令如果在伺服器上沒有安裝的話,我稍候也會告訴你怎麼做的。
- mysql日誌檔案的事情,我的另一篇文章會說明的,請參見。
- 至於在Linux上怎麼編輯檔案,我想你可以問問“vim”大人。
- 還有什麼忘記說的?對了,你在看這篇文章之前最好看看mysql配置
這兩個檔案是搞好了,接下來要做什麼?“元芳,你怎麼看?”“大人,你覺得呢?”
三、測試備份
首先,要想讓兩個檔案執行,肯定是要賦予他們靈魂的,不然,怎麼搞。
[root@iZ23gsv94suZ soft]# chmod 700 flushlog_and_copy.sh
[root@iZ23gsv94suZ soft]# chmod 700 backuplixiaoli.sh
庫檔案備份
[ot@iZ23gsv94suZ soft]# sh backuptiangong.sh
mysqldump: [Warning] Using a password on the command line interface can be insecure.
adding: home/backup/2015_10_30_105545.sql (deflated 77%)
[root@iZ23gsv94suZ backup]# ll
total 28
-rw-r--r-- 1 root root 23948 Oct 30 10:55 2015_10_30_105545.zip
二進位制日誌備份
[root@iZsuZ soft]# sh flushlog_and_copy.sh
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
expr: syntax error
adding: home/backup/mysqlbinarylog/mysql-bin.000002 (deflated 36%)
done
[root@iZ23gZ soft]# cd /home/backup/mysqlbinarylog/
[root@iZ23 mysqlbinarylog]# ll
total 8
-rw-r--r-- 1 root root 343 Oct 30 10:59 2015_10_30_105901mysql-bin.000002.zip
-rw-r----- 1 root root 167 Oct 30 10:59 mysql-bin.000002
四、加入crontab定時服務
到這呢,你可能需要先看看Linux:時間同步,瞭解一下Linux的自動化服務!
①、先看看crontab服務
[root@iZ23gsv94suZ mysqlbinarylog]# crontab -l
-bash: crontab: command not found
②、安裝crontab
[root@iZ23gsv94suZ mysqlbinarylog]# yum install -y vixie-cron
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
Installed:
cronie.x86_64 0:1.4.4-15.el6
Dependency Installed:
cronie-anacron.x86_64 0:1.4.4-15.el6 crontabs.noarch 0:1.10-33.el6 exim.x86_64 0:4.72-7.el6
Complete!
③、設定crontab開機啟動
參照Linux:時間同步.
④、將mysql備份檔案加入crontab
crontab -e
30 12,17,23 * * 1-5 sh /home/soft/flushlog_and_copy.sh
40 23 * * 6 sh /home/soft/backuplixiaoli.sh
- 週一到週五12點半、17點半、23點半進行二進位制檔案備份
- 週六23點40分進行庫檔案備份。
然後,我們crontab -l
檢視一下,是否已經命令加入到自動化任務中!
相關文章
感謝您閱讀【沉默王二的部落格】,如果王二的部落格給您帶來一絲幫助或感動,我(也就是王二)將不甚榮幸。
如果您碰巧喜歡,可以留言或者私信我,這將是我鼓搗更多優秀文章的最強動力。
相關文章
- MYSQL定時任務-定時清除備份資料MySql
- Rman 定時備份crontab
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- Mysql定時備份資料指令碼MySql指令碼
- Linux平臺下MySQL資料庫定時備份LinuxMySql資料庫
- linux的定時任務crontabLinux
- Linux crontab 定時任務Linux
- Linux 定時任務(crontab)Linux
- Linux - crontab(定時任務)Linux
- crontab 備份docker mysql映象的資料庫不生效DockerMySql資料庫
- 資料庫定時備份linux篇資料庫Linux
- MySQL 資料庫定時備份的幾種方式MySql資料庫
- MySQL 定時備份MySql
- Linux下的定時任務crontab設定Linux
- linux之 crontab 定時任務Linux
- Linux Crontab定時任務命令Linux
- Linux Crontab 定時任務[轉]Linux
- Linux下Mysql定時自動備份LinuxMySql
- Linux實現定時備份MySQL資料庫並刪除30天前的備份檔案LinuxMySql資料庫
- 【乾貨】MySQL 資料庫定時備份總結MySql資料庫
- MySQL 定時增量備份MySql
- MYSQL定時備份(一)MySql
- linux定時任務的設定 crontab 配置指南Linux
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- MySQL資料庫定時備份的幾種實現方法MySql資料庫
- 排查linux 定時任務cron crontabLinux
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- [資料庫] Navicat for MySQL定時備份資料庫及資料恢復資料庫MySql資料恢復
- crontab定時任務
- 解決linux crontab備份mysql失敗的問題LinuxMySql
- Linux定時備份資料庫與指令碼加密Linux資料庫指令碼加密
- 服務維護之crontab定時監測告警
- xtrabackup備份mysql以及建立自動定時任務MySql
- (定時任務)crontab 的用法
- 【Linux定時任務】crontab使用經驗Linux
- [Linux]crontab定時任務自動化Linux
- Linux Crontab 定時任務 命令詳解Linux
- 使用JOB定時備份資料庫資料庫