linux資料庫自動備份腳本
對於我們個人站長來說,數據的重要不用再談,而很多站長經常忘記備份數據,也有無良的JS跑路,硬碟損壞,數據丟了,其中DS就丟失過好幾次數據,如果沒有備份,肯定悲劇,本文介紹一種自動備份數據的方法!
本腳本特色:
1.純zip壓縮,1-9可自行調整壓縮率
2.整台VPS備份,還原方便,非常適合站群
3.加入壓縮密碼,可以自己設置
4.加入綁米信息偽靜態壓縮,防止偽靜態弄丟
5.請確保在home目錄下有backup目錄,如果沒有請執行
mkdir
/home/backup
6.還原資料庫請參考:導入資料庫方法
最後更新時間:2012年8月25日
centos安裝zip
yum
install
zip
debian安裝zip
apt-get
install
zip
下載編輯
wget
-c
http://www.***.com/soft/beifen.sh
vi
beifen.sh
只編輯註解為需要修改的地方
【腳本開始】
#!/bin/bash
#下面的參數是你要修改的
MYsql_USER=root
#mysql用戶名
MYSQL_PASS=mysql密碼
#mysql密碼
FTP_USER=FTP用戶名
#ftp用戶名
FTP_PASS=FTP密碼
#ftp密碼
FTP_IP=FTP地址
#ftp地址
FTP_backup=FTP目錄
#ftp上存放備份文件的目錄,這個要自己得ftp上面建的
WEB_DATA=/home/wwwroot/
#要備份的網站數據
WEB_BANGMI=/usr/local/nginx/conf/
#要備份的綁米信息
WEB_MULU=/home/backup
#備份文件存放目錄
WEB_MIMA=zhujima
#備份時候的密碼
WEB_YASUOLV=1
#壓縮率
1-9
如果VPS沒有zip,請安裝zip
#上面是你要修改的地方
#刪除淘寶客緩存,屬於自定義設置。可自行操作
#rm
-rf
/home/wwwroot/1.com/Apicache/*
#定義資料庫的名字和舊資料庫的名字
DataBakName=Data_$(date
+"%Y%m%d").zip
#定義資料庫名字
WebBakName=Web_$(date
+%Y%m%d).zip
#定義備份網站名字
BANGMI=BANGMI_$(date
+%Y%m%d).zip
#定義綁米備份名字
OldData=Data_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前資料庫名字
OldWeb=Web_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前網站名字
BANGMIshan=BANGMI_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前綁米名字
#刪除本地3天前的數據
rm
-rf
$WEB_MULU/Data_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/Web_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/BANGMI_$(date
-d
-3day
+"%Y%m%d").zip
#導出全部資料庫
cd
$WEB_MULU
/usr/local/mysql/bin/mysqlmp
-u$MYSQL_USER
-p$MYSQL_PASS
--all-databases
>
$(date
+"%Y%m%d").sql
#壓縮資料庫文件為一個文件
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$DataBakName
$WEB_MULU/*.sql
rm
-rf
$WEB_MULU/*.sql
#壓縮網站數據
cd
$WEB_DATA
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$WebBakName
./*
mv
$WebBakName
$WEB_MULU/$WebBakName
cd
$WEB_MULU
#壓縮綁米信息
cd
$WEB_BANGMI
#進入綁米目錄
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$BANGMI
./*
mv
$BANGMI
$WEB_MULU/$BANGMI
#上傳到FTP空間,刪除FTP空間5天前的數據
cd
$WEB_MULU
#進入備份目錄
ftp
-v
-n
$FTP_IP
<<
END
user
$FTP_USER
$FTP_PASS
type
binary
cd
$FTP_backup
delete
$BANGMIshan
delete
$OldData
delete
$OldWeb
put
$DataBakName
put
$WebBakName
put
$BANGMI
bye
END
加入許可權,寫入定時執行
chmod
777
/root/beifen.sh
crontab
-e
30
21
*
*
*
/root/beifen.sh
註:每天21:30開始備份並且上傳FTP
本文地址:http://www.zhujima.com/139.html
㈡ 怎麼linux下定時備份mysql資料庫備份
shell腳本或者php定時任務
php服務重啟後定時任務會取消
㈢ linux系統下mySQL資料庫 備份方法和腳本
資料庫備份
1.創建個備份存儲目錄
mkdir
/root/backup/
2.以下內容寫到dbbackup.sh
#!/bin/bash
cd
/root/backup/
mysqlmp
-uroot
-pmima123
datatest
>/root/backup/datatest`date
+%Y-%m-%d`.sql
mysqlmp
-uroot
-pmima123
datatest1
>/root/backup/datatest1`date
+%Y-%m-%d`.sql
chmod
+x
dbbackup.sh
㈣ 請教linux定時執行資料庫備份腳本的問題
Oracle自動備份資料庫不外乎以下三種方式WINDOWS下的任務計劃(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三種方式中Viritas屬於第三方工具,很多人可能都沒有接觸,主要說一下windows的任務計劃與unix的cron
1、生成腳本文件,如backup.rcv 假定文件內容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format 『/u01/oradata/backup/arch%u_%s_%p』 archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成執行文件在windows上生成backup_archive.bat,內容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,內容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入調度在windows中用任務計劃向導即可,或使用at命令。在unix中,在目標機器上編寫一個文件,用以啟動Oracle自動備份進程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點對資料庫備份
0 12,18 * * * backup_archive.sh
#表示每天12點,18點備份
Crontab文件的每一行由六個域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來
㈤ linux自動備份mysql資料庫腳本
腳本最好寫出來。否則怎麼知道。
通過經驗來看。你是用mysqlhot還是mysqlmp來備份的?
如果沒有安裝相應的工具,比如mysqlhot就要手動安裝。。。
或者執行進驗證的信息不對。都可能造成你說的現象,
你要單獨運行一下腳本中導出mysql資料庫的部分。
㈥ 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自動備份腳本,謝謝給個詳細操作。本人Linux不熟
使用crontab -e命令進入定時執行設置裡面添加
* */8 * * * bash /usr/local/scripts/ERP_bak.sh
保存退出
然後創建腳本
touch /usr/local/scripts/ERP_bak.sh
chmod +x /usr/local/scripts/ERP_bak.sh
vi /usr/local/scripts/ERP_bak.sh
編輯腳本輸入以下內容
#!/bin/bash
tar zcvf ERP_bak-`date +%Y-%m-%d`.tgz /var/backup/
保存退出
每天8點就會在/usr/local/scripts/下生成一個歸檔文件比如今天是ERP_bak-2015-1-23.tgz
如果要恢復數據的話就進入 /usr/local/scripts/ 目錄找到要恢復的tgz文件用 tar zxvf 解壓就可以了
㈧ 菜鳥求助:linux下oracle資料庫自動備份腳本,腳本可實現資料庫自動備份功能,並刪除三天前的備份
這個好辦。 cp 你的資料庫`date +'%y%m%d'` 指定目錄 這個是以年月日來命名備份 刪除的命令是
rm -f 你的資料庫名字`date -d "3 days ago" +'%y%m%d'` 這個是刪除匹配你資料庫的備份名日期前3天的備份文件 他會按照日期-3天匹配3天前的日期來刪除備份的