前言:javascript
工做中可能會遇到如下狀況,利用windows做爲中轉,來實現兩臺linux服務器的文件傳輸。html
實現步驟:java
一、FTP上傳和下載的bat腳本。linux
腳本分爲兩部分:可執行bat腳本和ftp命令文件;windows
可執行bat腳本:ruby
1
2
|
@echo off
ftp -s:D:\ftp\ftp.txt
|
ftp命令ftp.txt:服務器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
open 192.168.1.166
ftp-user
passwd
prompt off
lcd D:\ftp
cd /home/myftp
mget *
close
open 10.10.12.12
ftp-user<br>passwd
lcd D:\ftp
cd /home/myftp
mput *
prompt on
bye
quit
|
二、加入Windows定時任務(網摘):markdown
【定時任務|開機啓動】Windows Server 2008/2012 計劃任務配置(任務計劃程序)每分鐘執行BAT
打開計劃任務快捷方式(在 「管理工具」內):網絡
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Task Scheduler.lnk工具
不少人在問我:
一、Windows Server 2008 計劃任務在哪裏配置?
二、Windows Server 2008 能夠配置每分鐘或是每小時執行個人任務嗎?
答案是:能夠!
首先Windows Server 2008不一樣於其餘服務器操做系統和Windows Server 2003有着很大的區別,計劃任務的名稱是「任務計劃程序」不在控制面板裏,而是在「管理工具」裏。因爲服務器須要作些任務,定時執行,本身寫程序吧,麻煩,因此採用BAT進行代替操做,網絡上不少人都在說每分鐘執行怎麼配置,今天咱們就配置一下。
一、打開「任務計劃程序」–> 點擊「任務計劃程序庫」在右則會看到操做項裏有「建立基本任務」和「建立任務」如圖所示:
二、點擊「建立任務」後如圖所示:填寫好相應的名稱和勾選好必要的條件
三、選擇「觸發器」選項,點擊「新建」,建立任務執行時間,「重複任務間隔」這個選擇後,後面有時間選擇,是每小時,仍是每分,可本身選擇後再修改時間,再肯定。
特別說明:我差點被騙了,認爲Windows計劃任務是精確不到分鐘級別的,主要是看到「重複時間間隔(P)」右邊沒有「1分鐘」選項,以下圖所示:
其實,它除了下拉選擇外,還可手動修改時間值,好比上面的「1分鐘」!!!
四、再來配置須要執行的「操做」,就是選擇所寫的程序或是BAT文件,這裏很重要的配置是選擇BAT文件後,在「起始於(可選)」這裏必定要填寫相應執行程序或是BAT文件的所在目錄,要否則是執行不成功的。
五、添加後,列表欄中會出現添加的計劃任務。
【如何開機啓動?】
若是想開機啓動.bat文件,只要在「新建觸發器」時,「開始任務」下列框選擇「啓動時」便可!
【如何執行PHP腳本?】
參考以下圖所示:
利用ftp命令+bat程序實現本地數據定時備份到服務器
需求
在組內服務器上搭建數據備份服務器,要求實驗用電腦能夠定時(如12小時/24小時等)備份所選文件夾的數據文件。備份位置在服務器D盤上創建Backup文件夾。
解決方案:rar命令+ftp命令+bat批處理程序+windows計劃任務
具體文件
- backup.lst
用於指定須要打包的文件夾。增長或者刪除很是方便,就添加/刪除一條路徑。能夠只選擇特定格式的文件
E:\major\qutip\*.* //打包全部格式文件。若只須要特定格式使用./*.doc等 F:\PICTURE\*.*
- ftp.bat
用於執行打包文件夾,命名格式爲當前日期時間。而後執行ftp.txt中的ftp命令。
set time_hh=%time:~0,2% if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%) set filename=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2% rar a -m5 -r Mybackup-%filename%.rar @backup.lst ftp -s:E:\backup\ftp.txt mkdir local_backup move E:\backup\Mybackup-%filename%.rar E:\backup\local_backup //將壓縮文件移動到本地備份文件夾中
- ftp.txt
都爲ftp命令,經過用戶名密碼鏈接服務器,而後上傳rar文件。
open serverIP
username
passward
cd .\backup mkdir test cd .\test binary put E:\backup\*.rar bye
Windows下經過bat腳本實現自動上傳文件到ftp服務器
@Echo Off
Echo open ip_address [port] >ftp.up
Echo [username]>>ftp.up
Echo [password]>>ftp.up
Echo Cd .\ >>ftp.up
Echo binary>>ftp.up
Echo put
"C:\ExAdminAuditLog.txt"
>>ftp.up
Echo bye>>ftp.up
FTP -s:ftp.up
del ftp.up /q