Windows自動備份到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伺服器的部署。
② FTP自動備份腳本
換空間,數據的備份與恢復具體步驟操作!
一 備份數據
1,利用PW後台的數據備份功能進行備份.注意的是在備份數據的時候,為了數據的完整性,建議最好先關閉論壇,後台更新所有緩存和索引.
2,利用phpmyadmin,進行備份,具體如何備份,這里就不介紹.不清楚的可以查閱相關文檔,很簡單的.這里備份的文件是一個獨立sql文件.
以上方法一般適用與中小型論壇的備份,數據量比較小的時候還是很實用的,一般多為虛擬主機用戶使用.大型論壇的備份一般是 3,4兩種操作..主要是比較簡單操作,一些我個人認為比較復雜且不是很實用的方法就不介紹了不如通過Mysqlhot,使用binlog機制,增加mysql的事物日誌記錄等,這里就不介紹了.以下下操作一般有伺服器許可權的朋友才可以的.
3,直接復制或者打包資料庫文件,復制文件夾,大家應該都明白,我們來講打包,linux下用tar命令實現簡單有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暫停mysql服務.
4,Mysqlmp,是mysql自帶的腳本,假如資料庫名為abc,用戶名為:abcuser,密碼為123,,那應該使用
命令:
mysqlmp -uabcuser -p123 adc pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 數據還原
1,針對第一種備份方法,也是最普遍使用的.在恢復論壇數據的時候,要關閉php.ini文件中的safe mode,恢復完數據後,再打開SAFE MODE就可以了。(自己伺服器得才需要此設置,普通虛擬空間用戶不用此設置)
用FTP軟體下載老論壇所有文件
將所有文件上傳至新空間
打開網頁 你的論壇地址/admin.php 用你的論壇創始人帳號登陸
數據恢復(隨便點一個文件,程序會自動將剩餘文件導入的)
以上方法可保留所有數據及插件和模板。
對於不需要模板的或者不需要原來的插件的
老論壇備份數據,用FTP拉到本地。(具體在data目錄下)
上傳程序包里的文件到新空間,全新安裝
用FTP軟體將備份的數據上傳到新空間的data目錄下
用論壇創始人帳號進入後台,數據恢復
如果後台資料庫忘記了,可以直接修改sql_config.php里的資料庫帳號和創始人帳號密碼!這里輸入的創始人密碼不能直接是明文.需要是MD5加密過後的.
這里就給大家一個簡單的 MD5密文 [] 明文 [123456]之後就可以通過/admin.php 剛才修改的帳戶密碼登陸論壇了..
2,對於phpmysql備份的數據,在2M以下可以直接導入資料庫中(至於怎麼導,看相關文檔,很簡單.)數據量很大的情況只能到伺服器上,伺服器上 mysql 命令導入(具體導入將在"4"中介紹)虛擬主機用戶,那麼就得聯系你的空間商,讓他們協助完成數據的恢復.
3,對於打包資料庫文件的,可以直接解壓 把資料庫文件 放到你資料庫名的目錄下. 在linux下注意資料庫文件的許可權.一般都是mysql:mysql. Win 下關系不是很大,除非你做了特殊的許可權設置.
4,對於mysqlmp 導出數據, 按照備份數據中的舉例用戶來演示,
則命令為:
mysql -uabcuser -p123 abc abc_bak.sql
注意:
無任何錯誤一般來說就是正常完成。通常在使用 phpmyadmin 導入的sql腳本中有create database語句,會導致導入數據出錯,因為database 已經存在,把這段語句刪除之,再次檢查客戶的建表語句前是否有drop表的語句,如果沒有,而原資料庫存在同名表格,也會出錯,這時需要清空原資料庫.
③ win2003系統下 FreeFileSync v8.1 如何通過sftp將需要備份的文件上傳到ftp伺服器進行備份。
默認的sublime text是沒有這個sftp連接功能的,這只是一個文本編輯器,相當於windows下的txt,所以要先裝上插件:
安裝Sublime Text 2插件的方法:
1.直接安裝
安裝Sublime text 2插件很方便http://www.uuudown.com/,可以直接下載安裝包解壓縮到Packages目錄
(菜單->preferences->packages)。
2.使用Package Control組件安裝,下載這個方法要先安裝Package Control,我就是用這個方法安裝的。
先安裝package control組件,然後直接在線安裝。
1) 按Ctrl+`調出console, 粘貼以下代碼到底部命令行並回車:
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
2)重啟Sublime Text 2。
如果在Perferences->package settings中看到package control這一項,則安裝成功。
3)用Package Control安裝插件的方法:
按下Ctrl+Shift+P調出命令面板
輸入install選擇下面提示的 Install Package選項並回車,然後輸入SFTP,下拉列表中會出現一些相關的插件,選中sftp進行安裝就行了,裝好後還需配置如下:選菜單欄中的File->SFTP/FTP->Set up Server,然後出現一個配置窗口如下,
連接成功的話會有在sublime的底部如下顯示,這樣鏈接成功了。。。
按下Ctrl+Shift+P調出命令面板
選中sftp進行安裝就行了,裝好後還需配置如下:
選菜單欄中的File->SFTP/FTP->Set up Server,然後出現一個配置窗口如下,
注意是ftp連接的話,要將sftp改成ftp,然後設置主機名,密碼,埠就行了,ftp的埠是21。
連接成功的話會有在sublime的底部如下顯示,這樣鏈接成功了。。。
下面介紹將一個項目上傳:
在工具欄中點擊Project - Add Folder to Project...,選擇項目的文件夾。這樣左側會出現project文件夾,右鍵project,選擇FTPSync - Setup FTPSync in this folder,之後會出來一個配置文件sftp-config.json,對配置文件進行修改,代碼如下:
[php] view plain
{
// The tab key will cycle through the settings when first created
// Visit http://wbond.net/sublime_packages/sftp/settings for help
// sftp, ftp or ftps
"type": "ftp",
"save_before_upload": true,
"upload_on_save": false,
"sync_down_on_open": false,
"sync_skip_deletes": false,
"confirm_downloads": false,
"confirm_sync": true,
"confirm_overwrite_newer": false,
"host": "wangshangyou.com",
"user": "",
"password": "",
//"port": "22",
"remote_path": "/",
"ignore_regexes": [
"\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
"sftp-settings\\.json", "/venv/", "\\.svn", "\\.hg", "\\.git",
"\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
],
//"file_permissions": "664",
//"dir_permissions": "775",
//"extra_list_connections": 0,
"connect_timeout": 30,
//"keepalive": 120,
//"ftp_passive_mode": true,
//"ssh_key_file": "~/.ssh/id_rsa",
//"sftp_flags": ["-F", "/path/to/ssh_config"],
//"preserve_modification_times": false,
//"remote_time_offset_in_hours": 0,
//"remote_encoding": "utf-8",
//"remote_locale": "C",
}
在project目錄結構中選擇文件右鍵上傳,或者在命令輸入框中輸入命令。
這樣就完成了。
主要快捷鍵列表:
Ctrl+L 選擇整行(按住-繼續選擇下行)
Ctrl+KK 從游標處刪除至行尾
Ctrl+Shift+K 刪除整行
Ctrl+Shift+D 復制游標所在整行,插入在該行之前
Ctrl+J 合並行(已選擇需要合並的多行時)
Ctrl+KU 改為大寫
Ctrl+KL 改為小寫
Ctrl+D 選詞 (按住-繼續選擇下個相同的字元串)
Ctrl+M 游標移動至括弧內開始或結束的位置
Ctrl+Shift+M 選擇括弧內的內容(按住-繼續選擇父括弧)
Ctrl+/ 注釋整行(如已選擇內容,同「Ctrl+Shift+/」效果)
Ctrl+Shift+/ 注釋已選擇內容
Ctrl+Z 撤銷
Ctrl+Y 恢復撤銷
Ctrl+M 游標跳至對應的括弧
Alt+. 閉合當前標簽
Ctrl+Shift+A 選擇游標位置父標簽對兒
Ctrl+Shift+[ 折疊代碼
Ctrl+Shift+] 展開代碼
Ctrl+KT 折疊屬性
Ctrl+K0 展開所有
Ctrl+U 軟撤銷
Ctrl+T 詞互換
Tab 縮進 自動完成
Shift+Tab 去除縮進
Ctrl+Shift+↑ 與上行互換
Ctrl+Shift+↓ 與下行互換
Ctrl+K Backspace 從游標處刪除至行首
Ctrl+Enter 游標後插入行
Ctrl+Shift+Enter 游標前插入行
Ctrl+F2 設置書簽
F2 下一個書簽
Shift+F2 上一個書簽
④ 如何利用Ftp自動備份
是隨著文件備份與ftp被廣泛應用的產物。利用ftp自動備份可輕松解決企業、網站等數據中心的備份任務。在管理人員繁忙或無人值守的時候,實現遠程輕松備份和遠程自動備份。其目的,是為防止企業、網站、伺服器等數據中心出現意外時,能在最短的時間恢復正常運作。
ftp自動備份——filegee
新建一個備份任務,選擇任務的備份類型;備份的源目錄為ftp伺服器,可對ftp伺服器進行增、刪、改設置。
目標目錄可選擇本機或ftp(目標目錄是ftp,也就是說可將文件遠程備份到其它地方);還可對文件進行壓縮加密。在根據建立任務向導中,自動執行的模式有多種,可根據數據的更新量來設置自動執行的時間,ftp自動備份模式有:每月、每周、每日、間隔、實時。時間跨度滿足ftp自動備份對所有時間的要求,只要設定好自動執行的時間,就可全天候隨時自動執行備份任務。這里選擇的是,每天下午的17:00自動執行遠程ftp的備份任務。如下:
在任務建立的向導中,還可以對文件進行選擇,可以選擇需要備份的部分文件;可設置任務自動重試,可設置自動重試到任務完全成功為止,所以,完全不必擔心ftp自動備份任務不成功或出錯而無法備份的情況。如果備份的數據量大,還可設置自動刪除日誌文件,做到節省存儲空間。如果,還是不放心備份文件的安全,可對文件加密(這已是第二次加密了,前面步驟中,可壓縮加密),在保證ftp自動備份文件時,還能充分保障備份的安全。還可生成執行命令,在執行任務前後運行其他的程序。
通過上述步驟,就可完成ftp自動備份的任務,操作非常簡單,功能非常強大。能夠實時、遠程的完成ftp備份任務,不僅節省了時間,提高了效率,還保證了備份文件的安全。
⑤ 如何從一台電腦的文件備份到另外一台電腦
1、將新、舊兩台電腦都連接到同一個路由器下。有線和無線都可以。先在【新電腦】上安裝【360換機助手】,點擊【這是新電腦】。
⑥ for windows的oracle定期自動備份腳本到ftp的目錄下
你去學一下 at 指令,比計劃任務好用。當然設置計劃任務也不復雜。
AT命令是Windows 中內置的命令,它也可以媲美Windows中的「計劃任務」,而且在計劃的安排、任務的管理、工作事務的處理方面,AT命令具有更強大更神通的功能。 AT命令可在指定時間和日期、在指定計算機上運行命令和程序。我們可以在「開始→運行」中輸入AT命令,下面就來看看AT命令的一些實例分析。
1. 定時關機命令:at 21:00 ShutDown –S –T30 該命令運行後,到了21:00點,電腦會出現「系統關機」對話框,並默認30秒延時自動關機。
2. 定時提醒命令:at 12:00 Net Send 10.10.36.122 與朋友約會的時間到了,快點准備出發吧! 其中Net Send是Windows內部程序,可以發送消息到網路上的其他用戶、計算機。10.10.36.122是本機電腦的IP地址。這個功能在Windows 中也稱作「信使服務」。
3. 自動運行批處理文件如果公司的數據佷重要,要求在指定的日期/時間進行備份,那麼運行:命令:at 1:00AM /Every:Saturday My_BackUp.bat 這樣,在每個Saturday(周六)的早上1:00點,電腦定時啟動My_BackUp.bat批處理文件。My_BackUp.bat是一個你自行編制的批處理文件,它包含能對系統進行數據完全備份的多條命令。
4. 取消已經安排的計劃命令:at 5 /Delete 有時候,你已經安排好的計劃可能臨時變動,這樣你可以及時地用上述命令刪除該計劃(5為指派給已計劃命令的標識編號),當然,刪除該計劃後,可以重新安排。
⑦ 如何讓windows將大量文件自動定時備份至linux伺服器
這樣吧!
1.你在windows上裝備FlashFXP這個軟體!然後定製一個傳送列隊,把列隊可以存出來,在軟體中把是否覆蓋這類東西設好,然後雙擊那個列隊文件,就開始上傳了!然後再windows計劃任務里把這個列隊文件設成計劃任務!
2.或者你可以在linux上開SMB服務,就是把linux的一個區域模擬成windows的共享,這樣你就可以簡單的用復制粘貼等操作把你文件到linux上去了(做個.bat的批處理文件拷貝也可以,這樣bat文件就可以放到計劃任務里了),把共享做個映射的硬碟;
2.1用Allway Sync備份工具 V9.2.11 漢化版這個軟體去同步兩邊的文件,
2.2當然你也可以用fast這個軟體,自動復制指定文件夾所有文件,對方如果同名文件存在,可以根據修改日期自動判斷是否覆蓋!淡然執行那個按鈕你得點,不過這個問題可以用按鍵精靈解決,讓按鍵精靈設定好時間,定時啟動替你干這個!
當然高級辦法也有,有人用VBS腳本來干,不過我不熟那個,所以沒用,但網上能找到!
3.在linux系統上設置crontab, 晚上定時去windows ftp上下載。借鑒樓下的做了點說明
3.1 在windows上安裝ftp服務端
3.2 在寫下載腳本auto_download.sh:
參考:
lftp 10.0.0.1 -u user,passwd -e 'cd /pwd;get XX;quit'
多文件下載請用mget
3.3 在linux上設定crontab
crontab -e
00 00 * * * sh /pwd/auto_download.sh
每天零點開始執行auto_download.sh 這個腳本
呵呵,這么多思路你慢慢想吧!總有好辦法的!祝你好運
⑧ 如何利用Ftp自動備份
實現方法如下:
1、用FTP並結合任務調度進行自動的同步。需要自動保持公司電腦和家裡電腦FileBase.nyf這個文件的同步。實現原理:
1)估計一下每天的關機時間,利用Windows的任務調度在這個時間的前幾分鍾將文件上傳至ftp伺服器。
2)同樣利用Windows的任務調度,在機器啟動時,自動備份本地FileBase.nyf文件,並從ftp伺服器下載文件。
2、實現方式(以本地存放路徑D:\ApplicationData\mybase、本地任務調度文件:D:\ApplicationData\schele、文件存放在遠程伺服器的temp目錄下。