『壹』 求sqlBackupAndFTP(資料庫備份軟體) V10.1.25 綠色版網盤資源
鏈接:
提取碼:11ih
軟體名稱:SQLBackupAndFTP(資料庫備份軟體)V10.1.25綠色版
語言:英文軟體
大小:7.87MB
類別:系統工具
介紹:SQLBackupAndFTP是鄭猜一款國外專業的資料庫備份工具。該款資料庫拍悔備份軟體每天必須發送到一個遠程FTP伺服器,這將大大節省維修時間,讓您更好的管理自己的喊賀型伺服器。
『貳』 sql server 能不能自動備份到網盤
1.給SqlServer設置維護計劃定時備份
這個操作比較簡單,按向導新增維護計劃即可。
2.自動壓縮腳本
c:\Progra~2\WinRar\winRar.exe a D:\bak\database_buckup_%date:~0,4%_%date:~5,2%_%date:~8,2% d:\bak\database_*%date:~0,4%_%date:~5,2%_%date:~8,2%_*.bak 11
備份文件的格式是:database_backup_2015_05_15_010001_5555338.bak,
壓縮文件格式是:data_2015_06_15.rar這種樣式。
3.自動刪除舊的備份
設置一個計劃任務,在壓縮前把老的備份刪除。這里通過bat腳本調用vbs腳本,因為vbs腳本相對好寫一點。
autoDeleteOld.bat
cscript d:/bak/autoDeleteOldBak.vbs11
autoDeleteOldBak.vbs
const reMainCount = 1 '保留幾day
Dim fso,dc,file,files,folder,subfolders,subfolder
set fso=createobject("Scripting.FileSystemObject")
set folder=fso.getfolder("D:\bak")
Dim today
today=Now
for each tempFile in folder.files
dim arr
arr=Split( tempFile,"_backup_")
if UBound(arr)>0 then
dim tempDate,diff
tempDate=Cdate( Replace( Left(arr(1),10),"_","-"))
diff= DateDiff("d",tempDate,today)
if (diff>reMainCount) then
fso.deleteFile(tempFile),true
end if
end if
next
set fso=
如果另外有ftp伺服器,可以壓縮文件後,遠程同步到另一台伺服器上。
『叄』 如何將SQL資料庫備份到網路共享
定期備份SQL資料庫是必須的。我們已經覆蓋的方式就可以輕松備份您的所有SQL Server資料庫到本地硬碟中,但這並不能防止驅動器和/或系統故障。作為針對此類災難的額外保護層,您可以在網路共享上復制或直接創建備份。
在本地備份,然後復制到網路共享
完成此任務的首選和最直接的方法是簡單地創建資料庫的本地備份,然後將相應的備份文件復制到網路共享。您可以通過創建如下所示的批處理腳本來完成此操作:
SET LocalFolder = C:Program Files Microsoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q「備份資料庫MyDB到磁碟=%LocalFolder%MyDB.bak」
XCopy「%LocalFolder%MyDB.bak」「 192.168.16.55BackupDatabases」/ Z / V
DEL「%LocalFolder%MyDB.bak」
此腳本執行以下操作(逐行):
將變數設置為本地SQL備份目錄。
創建MyDB的SQL備份(使用Windows身份驗證)到本地SQL備份目錄。
將本地備份文件復制到網路共享。
刪除本地備份文件。
- 如果您使用備用帳戶運行SQL Server實例,請務必記住這些要點。如果採取適當的預防措施,則這些不顯示阻止程序,則應考慮添加額外的硬碟驅動器空間,然後實施本地備份和復制,以便可以使用本地帳戶運行SQL服務。
同樣,這是首選方法,因為它的工作原理和備份失敗的可能性是最小的,因為備份是在本地磁碟上創建。但是,如果沒有足夠的磁碟空間來存儲備份文件的本地副本,則此操作將失敗。在這種情況下,您需要添加額外的磁碟空間或直接備份到網路共享。
直接備份到網路共享
通常,當您嘗試使用以下命令直接創建備份到網路共享時:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
你很可能會得到一個錯誤的行:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤5(訪問被拒絕。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
盡管使用Windows身份驗證(-E開關)和Windows帳戶作為通過Windows資源管理器訪問和復制文件到共享的能力運行SQL備份命令,仍會出現此錯誤。
此操作失敗的原因是SQL命令在SQL Server服務運行的帳戶的邊界內執行。當您在計算機上查看服務列表時,很可能您將看到運行為(登錄為)列的SQL Server服務本地系統或網路服務,它們是沒有網路訪問許可權的系統帳戶。
在我們的系統上,網路共享命令的備份失敗,因為我們有SQL Server服務作為本地系統運行,再也無法獲得任何網路資源。
為了允許SQL直接備份到網路共享,我們必須將SQL Server服務作為可訪問網路資源的本地帳戶運行。
編輯SQL Server服務的屬性,並在「登錄」選項卡上將服務配置為作為具有網路訪問許可權的備用帳戶運行。
單擊「確定」後,您將收到一條提示,指示在重新啟動服務之後,設置才會生效。
重新啟動服務。
服務列表現在應顯示SQL Server服務正在作為您配置的帳戶運行。
現在當您運行命令直接備份到網路共享:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
您應該會看到一個成功消息:
處理資料庫MyDB的152頁,文件1上的文件MyDB。
為資料庫MyDB處理2頁,文件1上的文件MyDB_log。
BACKUP DATABASE在0.503秒(2.493 MB /秒)中成功處理了154頁。
使用備份文件現在在網路共享目錄:
網路共享注意事項請務必注意,備份命令希望能夠直接連接到網路共享,而不會提示您輸入憑據。您配置要運行的SQL Server服務的帳戶必須與網路共享具有可信連接,其中相應的憑據允許訪問,否則可能會發生以下錯誤:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤1326(登錄失敗:未知用戶名或密碼錯誤。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
此錯誤表示網路共享不接受帳戶的用戶名和密碼,並且命令失敗。
另一個要記住的問題是備份直接執行到網路資源,因此網路連接中的任何打嗝可能會導致您的備份失敗。因此,您只應該備份到穩定的網路位置(即可能不是VPN)。
安全隱患
如前所述,使用在本地備份然後復制到網路共享的方法是首選,因為它允許您將SQL服務作為僅具有本地系統訪問許可權的帳戶運行。
通過將服務作為備用帳戶運行,您打開了潛在的安全問題的大門。例如,惡意SQL腳本可以在備用帳戶下執行並攻擊網路資源。此外,對相應帳戶(密碼更改/到期或帳戶的刪除/禁用)的任何更改將導致SQL Server服務無法啟動。
『肆』 如何自動備份資料庫後將備份自動上傳到FTP伺服器
這篇文章很有分享價值,因為我們在實際的生產環境中需要將資料庫進行自動備份,然後上傳到指定的位置,當然也可以像以下文章中所講的一樣,上傳到你指定的FTP伺服器中,從而實現Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署,在Linux技術交流群中,也有朋友會遇到這方面的問題,可以將此文分享給群友共益。
注意:任何的操作都會具有風險性,請在本機實際測試通過之後再部署到伺服器環境,這樣即熟練的掌握了操作的技巧,也能在測試過程中發現問題,尋找解決方法。
說明:我這里要把MySql資料庫存放目錄/var/lib/mysql下面的data資料庫備份到/home/mysql_data裡面
並且保存為mysqldata_bak_2012_12_19.tar.gz的壓縮文件格式(2012_12_19是指備份執行時當天的日期)
然後只保留最近7天的備份
再把備份文件通過ftp伺服器上傳到指定空間,只保留最近7天的數據
實現步驟:
1、創建保存備份文件的路徑:/home/mysql_data
cd /home
mkdir mysql_data
2、創建備份腳本文件:/home/mysql_data/mysql_databak.sh
cd /home
cd mysql_data
touch mysql_databak.sh
vim mysql_databak.sh
輸入以下內容:
#######################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqlmp #mysqlmp備份文件執行路徑
OUT_DIR=/home/mysql_data #備份存放路徑
LINUX_USER=root #系統用戶名
DB_NAME=data #要備份的資料庫名字
DB_USER=root #資料庫賬號 注意:非root用戶要用備份參數 --skip-lock-tables,否則可能會報錯
DB_PASS=123456 #資料庫密碼
DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份
cd $OUT_DIR #進入備份存放目錄
DATE=`date +%Y_%m_%d` #獲取當前系統時間
OUT_SQL="$DATE.sql" #備份資料庫的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最終保存的資料庫備份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #備份
tar -czf $TAR_SQL ./$OUT_SQL #壓縮為.tar.gz格式
rm $OUT_SQL #刪除.sql格式的備份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改備份資料庫文件的所有者
find $OUT_DIR -name "mysqldata_bak_*" -type f -mtime +$DAYS -exec rm {} \; #刪除7天前的備份文件
deldate=` date -d -7day +%Y_%m_%d ` #獲取7天前的時間
ftp -n<<!
open 192.168.1.1 21 #打開ftp伺服器。21為ftp埠
user admin 123456 #用戶名、密碼
binary #設置二進制傳輸
cd mysqlbak #進入ftp目錄(這個目錄必須為ftp空間真實存在的目錄)
lcd /home/mysql_data #列出本地目錄
prompt
put mysqldata_bak_$DATE.tar.gz mysqldata_bak_$DATE.tar.gz #上傳目錄中的文件
delete mysqldata_bak_$deldate.tar.gz mysqldata_bak_$deldate.tar.gz #刪除ftp空間7天前的備份
close
bye !
#######################################################################################################
3、修改文件屬性,使其可執行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
30 1 * * * root /home/mysql_data/mysql_databak.sh
表示每天凌晨1:30分執行備份
5、重新啟動crond使設置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #設為開機啟動
service crond start #啟動
每天你在/home/mysql_data目錄下面可以看到類似mysqldata_bak_2012_12_19.tar.gz這樣的壓縮文件
如果需要恢復文件的時候,只需要把這個文件解壓即可
解壓縮tar -zxvf mysqldata_bak_2012_12_19.tar.gz
至此,我們完成了Linux中Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署。
『伍』 如何將sql資料庫自動定時的備份或更新到另一台電腦
兩個思路:
1、在備份機共享一個目錄出來,在生產機建立到備份機共享目錄的網路映射驅動器,之後在生產機執行資料庫備份時,直接將備份卷質指定為網路驅動器。
2、備份資料庫到生產機的某個磁碟,然後用定時任務傳送到備份機。備份機可以安裝一個ftp server軟體,直接用ftp的方式傳送,這樣也比較安全、可靠。