国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Ftp服務器 > 正文

FTP定時批量下載文件(SHELL腳本及使用方法 )

2024-09-09 20:58:42
字體:
來源:轉載
供稿:網友
FTP定時批量下載文件(SHELL腳本及使用方法 )

1.腳本實例

  將以下腳本保存為getftp.sh

#!/bin/bashdatesign=`date-d-95day+%Y%m%d`ftp-nv12.2.2.28<<!FTPRUNuseruser01user01promptbincdTXTlcd/app/info/getftpmget${datesign}*.txtbye!FTPRUN

腳本說明:

#!/bin/bash

#表明該文本的內容為SHELL命令datesign=`date-d-95day+%Y%m%d`

#聲明變量datesign,用來記錄需要獲取文件名中的日期標簽。#-95day表示距系統時間的天數,假如今天是20121123,#-2day就表示20121121。

#%Y表示年,如2012,%y也表示年,但是格式為12#%m表示月,如11#%d表示日,如23

#同樣,%H,%M,%S分明表示時分秒,

#以系統時間為2012年11月23日10時55分44秒為例

#`date–d-2day+%Y-%m-%d%H:%M:%S`的值為:2012112110:55:44ftp-nv12.2.2.28<<!FTPRUN

#登錄FTP服務器,12.2.2.28表示FTP服務器的ip地址

#從!FTPRUN至代碼結束的!FTPRUN是FTP命令。#!FTPRUN是自己隨意給的標示名useruser01user01

#給出FTP的用戶名和密碼。此處用戶名和密碼都是:user01Prompt

#該命令忽略FTP交互Bin

#二進制格式傳送cdTXT

#TXT表示數據文件在FTP服務器上的目錄。lcd/app/info/getftp

#/app/info/getftp數據文件要下載到服務器的目錄mget${datesign}*.txt

#需要下載的文件,${datesign}為前面聲明的變量,*表示通配符Bye

#FTP完成退出!FTPRUN


2. 執行腳本使其定時調用

  SHELL文件在執行時,可能會因存在特殊字符而出現問題。需要將getftp.sh文件轉換一下格式。可以直接在linux下執行(假如不能運行則可以賦予它執行的權限后在運行chmod +x ./getftp.sh):

DOS2UNIX/app/info/getftp/getftp.sh

  /app/info/getftp為getftp.sh腳本所在目錄。

  通過vi編輯器根據實際環境對腳本進行相應更改,即可進行測試。3.自動執行配置在Linux下執行:

Crontab–e*5***/app/info/getftp/getftp.sh 

  保存退出。代碼就會在每天5:00自動運行。


附:cron調度進程說明

  cron是系統主要的調度進程,可以在無需人工干預的情況下運行作業。有一個叫做crontab的命令允許用戶提交、編輯或刪除相應的作業。每一個用戶都可以有一個crontab文件來保存調度信息。可以使用它運行任意一個shell腳本或某個命令,每小時運行一次,或一周三次,這完全取決于你。每一個用戶都可以有自己的crontab文件,但在一個較大的系統中,系統管理員一般會禁止這些文件,而只在整個系統保留一個這樣的文件。系統管理員是通過cron.deny和cron.allow這兩個文件來禁止或允許用戶擁有自己的crontab文件。

crontab的域

為了能夠在特定的時間運行作業,需要了解crontab文件每個條目中各個域的意義和格式。

下面就是這些域:第1列分鐘1~59

第2列小時1~23(0表示子夜)第3列日1~31第4列月1~12

第5列星期0~6(0表示星期天)第6列要運行的命令crontab的范例格式:

下面是crontab的格式:

分[]時[]日[]月[]星期[]要運行的命令其中[]表示空格。

crontab文件的一個條目是從左邊讀起的,第一列是分,最后一列是要運行的命令,它位于星期的后面。在這些域中,可以用橫杠-來表示一個時間范圍,例如你希望星期一至星期五運行某個作業,那么可以在星期域使用1-5來表示。還可以在這些域中使用逗號“,”,例如你希望星期一和星期四運行某個作業,只需要使用1,4來表示。可以用星號*來表示連續的時間段。如果你對某個表示時間的域沒有特別的限定,也應該在該域填入*。該文件的每一個條目必須含有5個時間域,而且每個域之間要用空格分隔。該文件中所有的注釋行要在行首用#來表示。crontab條目舉例

3021***/apps/bin/cleanup.sh

上面的例子表示每晚的21:30運行/apps/bin目錄下的cleanup.sh。4541,10,22**/apps/bin/backup.sh

上面的例子表示每月1、10、22日的4:45運行/apps/bin目錄下的backup.sh。101**6,0/bin/find-name"core"-execrm{}上面的例子表示每周六、周日的1:10運行一個find命令。0,3018-23***/apps/bin/dbcheck.sh

上面的例子表示在每天18:00至23:00之間每隔30分鐘運行/apps/bin/目錄下的dbcheck.sh。

023**6/apps/bin/qtrend.sh

上面的例子表示每星期六的11:00pm運行/apps/bin目錄下的qtrend.sh。

  致謝:感謝您的耐心閱讀!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 朝阳市| 长子县| 伊春市| 新巴尔虎左旗| 常德市| 德清县| 沾益县| 长阳| 大同市| 三明市| 浦东新区| 峡江县| 加查县| 苍梧县| 宜宾市| 中江县| 内乡县| 军事| 三原县| 宾阳县| 大庆市| 嵩明县| 敖汉旗| 汪清县| 衢州市| 马鞍山市| 大新县| 英山县| 防城港市| 神木县| 麻城市| 托克托县| 迁安市| 汽车| 改则县| 怀仁县| 郑州市| 宁都县| 龙口市| 张家港市| 萝北县|