windows下定時利用bat腳本實現ftp備份上傳

windows下定時利用bat腳本實現ftp上傳和下載

前言: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計劃任務

  1. 利用rar命令在本地打包備份文件夾,並存放到一個本地備份文件夾;
  2. 利用ftp命令將打包文件上傳到服務器備份文件夾
  3. 將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
相關文章
相關標籤/搜索