欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年09月15日 16:24:47   作者:單行道|  
最近做項(xiàng)目遇到這樣的需求要求ftp獲取遠(yuǎn)程數(shù)據(jù)的文件,根據(jù)文件的創(chuàng)建時(shí)間點(diǎn)下載文件。下面小編給大家分享知識(shí)點(diǎn)小結(jié),感興趣的朋友要求看看吧

需求: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)站的支持!

相關(guān)文章

  • 使用shc工具加密shell腳本詳解

    使用shc工具加密shell腳本詳解

    這篇文章主要介紹了使用shc工具加密shell腳本詳解,Shc可以用來對(duì)shell腳本進(jìn)行加密,可以將shell腳本轉(zhuǎn)換為一個(gè)可執(zhí)行的二進(jìn)制文件,需要的朋友可以參考下
    2014-12-12
  • 如何在Linux下修改Mysql的用戶(root)密碼

    如何在Linux下修改Mysql的用戶(root)密碼

    這篇文章主要介紹了如何在Linux下修改Mysql的用戶(root)密碼,分兩種情況:第一種當(dāng)擁有原來的mysql的root密碼,第二種情況忘記原來的mysql的root的密碼,需要的朋友可以參考下
    2015-08-08
  • real server 的一個(gè)啟動(dòng)腳本例子(推薦)

    real server 的一個(gè)啟動(dòng)腳本例子(推薦)

    下面小編就為大家?guī)硪黄猺eal server 的一個(gè)啟動(dòng)腳本例子(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • Shell腳本模擬多線程功能分享

    Shell腳本模擬多線程功能分享

    這篇文章主要介紹了Shell腳本模擬多線程功能分享,本文直接給出實(shí)現(xiàn)代碼,代碼中有詳細(xì)的注釋,需要的朋友可以參考下
    2014-11-11
  • Linux 命令每天必學(xué)(34)之du命令

    Linux 命令每天必學(xué)(34)之du命令

    Linux du命令是查看使用空間的,本文給大家介紹linux du命令的參數(shù),格式,功能等相關(guān)資料,對(duì)linux du命令感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • 一文掌握Linux命令lsscsi

    一文掌握Linux命令lsscsi

    想要弄明白lsscsi命令,首先我們必須搞清楚什么是SCSI,以及常見的硬盤接口,常用的硬盤參數(shù),今天通過本文給大家介紹下Linux命令lsscsi,需要的朋友可以參考下
    2022-09-09
  • Linux 使用shell腳本處理字符串的實(shí)現(xiàn)

    Linux 使用shell腳本處理字符串的實(shí)現(xiàn)

    這篇文章主要介紹了Linux 使用shell腳本處理字符串的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • linux命令之find命令簡單概述

    linux命令之find命令簡單概述

    這篇文章主要為大家詳細(xì)介紹了linux命令之find命令的簡單使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Linux shell腳本全面學(xué)習(xí)入門

    Linux shell腳本全面學(xué)習(xí)入門

    這篇文章主要為大家分享下Linux shell腳本相關(guān)的資料,對(duì)于linux系統(tǒng)中,shell腳本非常實(shí)用并強(qiáng)大
    2013-10-10
  • shell 操作釘釘機(jī)器人實(shí)現(xiàn)告警提醒的方法

    shell 操作釘釘機(jī)器人實(shí)現(xiàn)告警提醒的方法

    這篇文章主要介紹了shell 操作釘釘機(jī)器人實(shí)現(xiàn)告警提醒的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論