濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Linux shell ftp命令根據(jù)文件日期下載文件的方法

Linux shell ftp命令根據(jù)文件日期下載文件的方法

熱門標(biāo)簽:網(wǎng)絡(luò)電話外呼系統(tǒng)撥號(hào)軟件 貴陽400電話到哪里去辦理 宿松高德地圖標(biāo)注 汨羅代理外呼系統(tǒng) 天津智能外呼系統(tǒng)排名 400電話申請(qǐng)找 電銷機(jī)器人加盟多少錢 申請(qǐng)400電話有什么用 4層電梯外呼控制系統(tǒng)設(shè)計(jì)

需求:ftp獲取遠(yuǎn)程數(shù)據(jù)的文件,根據(jù)文件的創(chuàng)建時(shí)間點(diǎn)下載文件。 可以自行擴(kuò)展根據(jù)文件的大小等其他需求。

知識(shí)點(diǎn)總結(jié):

1、獲取文件的時(shí)間:

ls -lrt|awk '{print $6" "$7" "$8}'

時(shí)間內(nèi)容:

Sep  8 16:03

2、時(shí)間格式轉(zhuǎn)換

date -d "Sep 8 16:03" +%Y%m%d%H%M

轉(zhuǎn)換結(jié)果:

201709081603

3、指定文件名,正則匹配

pattern="${month}.*.dat$"
ls -lrt |awk '$9 ~ /'$pattern'/ {print $6" "$7" "$8}'

注意awk里面模式變量用'  '括起來,.*為任意字符,$表示以dat結(jié)尾。pattern的內(nèi)容根據(jù)需求自行設(shè)定

4、對(duì)文件時(shí)間進(jìn)行比較

ls -lrt |awk '$9 ~ /'$pattern'/ {\

     ctime="date -d \""$6" "$7" "$8"\" +%Y%m%d%H%M"; \

     ctime|getline filetime; if( filetime > '$checktime' ) print $9 ; }

獲取文件的時(shí)間,對(duì)時(shí)間進(jìn)行轉(zhuǎn)換,然后對(duì)轉(zhuǎn)換后的時(shí)間與給定的$checktime進(jìn)行比較,如果比$checkime的時(shí)間大,則顯示文件名。

|getline 為執(zhí)行命令獲取命令執(zhí)行的結(jié)果。

以上就完成了對(duì)本地文件時(shí)間進(jìn)行比較的方法。接下來判斷遠(yuǎn)程主機(jī)的文件時(shí)間。

5、ftp命令登錄遠(yuǎn)程主機(jī),并過濾得到要查詢的文件內(nèi)容

ftp_cmd(){
ftp -i -n !
open $ftp_ip
user $get_user $get_pwd
binary
cd ${get_dir}
lcd ${local_dir}
$*
bye
!
}
pattern="${month}.*.dat$"
files=$(ftp_cmd ls -lrt |awk '$9 ~ /'$pattern'/ {\ 
ctime="date -d \""$6" "$7" "$8"\" +%Y%m%d%H%M"; \ 
ctime|getline filetime; if( filetime > '$checktime' ) print $9 ; }'|xargs)

通過函數(shù)調(diào)用實(shí)現(xiàn)ftp到指定主機(jī),cd到指定目錄,通過awk獲取ls -lrt的結(jié)果,然后計(jì)算時(shí)間,把大于指定時(shí)間的文件名獲取到。

6、下載文件

ftp_cmd mget $files

總結(jié)

以上所述是小編給大家介紹的Linux shell ftp命令根據(jù)文件日期下載文件的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Linux ftp 命令行中下載文件get與上傳文件put的命令應(yīng)用詳解
  • xshell上傳下載文件(Windows、Linux)
  • 使用FileZilla從Linux系統(tǒng)下載文件的方法

標(biāo)簽:贛州 臨沂 撫州 昌都 烏蘭察布 廣東 海北 連云港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux shell ftp命令根據(jù)文件日期下載文件的方法》,本文關(guān)鍵詞  Linux,shell,ftp,命令,根據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux shell ftp命令根據(jù)文件日期下載文件的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux shell ftp命令根據(jù)文件日期下載文件的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    邵阳市| 洛阳市| 历史| 刚察县| 界首市| 乐亭县| 偃师市| 临沧市| 萨迦县| 读书| 旺苍县| 柘城县| 越西县| 来宾市| 邯郸市| 芦山县| 文昌市| 河北区| 锦州市| 甘孜县| 高雄县| 建始县| 新化县| 恩平市| 咸丰县| 通州区| 平塘县| 澄城县| 潜江市| 彭阳县| 鱼台县| 遂川县| 大足县| 顺昌县| 周至县| 厦门市| 陇川县| 维西| 政和县| 宜川县| 涪陵区|