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


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

前言:

工作中可能會遇到以下情況,利用windows作為中轉,來實現兩台linux服務器的文件傳輸。

 

實現步驟:

1、FTP上傳和下載的bat腳本。

腳本分為兩部分:可執行bat腳本和ftp命令文件;

可執行bat腳本:

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

 2、加入Windows定時任務(網摘):

【定時任務|開機啟動】Windows Server 2008/2012 計划任務配置(任務計划程序)每分鍾執行BAT

打開計划任務快捷方式(在 “管理工具”內):

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Task Scheduler.lnk

很多人在問我:

1、Windows Server 2008 計划任務在哪里配置?

2、Windows Server 2008 可以配置每分鍾或是每小時執行我的任務嗎?

答案是:可以!

首先Windows Server 2008不同於其他服務器操作系統和Windows Server 2003有着很大的區別,計划任務的名稱是“任務計划程序”不在控制面板里,而是在“管理工具”里。由於服務器需要做些任務,定時執行,自己寫程序吧,麻煩,所以采用BAT進行代替操作,網絡上很多人都在說每分鍾執行怎么配置,今天我們就配置一下。

 

1、打開“任務計划程序”–> 點擊“任務計划程序庫”在右則會看到操作項里有“創建基本任務”和“創建任務”如圖所示:

 

2、點擊“創建任務”后如圖所示:填寫好相應的名稱和勾選好必要的條件

 

3、選擇“觸發器”選項,點擊“新建”,創建任務執行時間,“重復任務間隔”這個選擇后,后面有時間選擇,是每小時,還是每分,可自己選擇后再修改時間,再確定。

特別說明:我差點被騙了,認為Windows計划任務是精確不到分鍾級別的,主要是看到“重復時間間隔(P)”右邊沒有“1分鍾”選項,如下圖所示:

其實,它除了下拉選擇外,還可手動修改時間值,比如上面的“1分鍾”!!!

 

4、再來配置需要執行的“操作”,就是選擇所寫的程序或是BAT文件,這里很重要的配置是選擇BAT文件后,在“起始於(可選)”這里一定要填寫相應執行程序或是BAT文件的所在目錄,要不然是執行不成功的。

 

5、添加后,列表欄中會出現添加的計划任務。

 


 

如何開機啟動?

如果想開機啟動.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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM