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

首頁 > 系統(tǒng) > Linux > 正文

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

2024-08-28 00:03:54
字體:
供稿:網(wǎng)友

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

知識點總結(jié):

1、獲取文件的時間:

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

時間內(nèi)容:

Sep  8 16:03

2、時間格式轉(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、對文件時間進行比較

ls -lrt |awk '$9 ~ /'$pattern'/ {/     ctime="date -d /""$6" "$7" "$8"/" +%Y%m%d%H%M"; /     ctime|getline filetime; if( filetime > '$checktime' ) print $9 ; }

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

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

以上就完成了對本地文件時間進行比較的方法。接下來判斷遠程主機的文件時間。

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

ftp_cmd(){ftp -i -n <<!open $ftp_ipuser $get_user $get_pwdbinarycd ${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)用實現(xiàn)ftp到指定主機,cd到指定目錄,通過awk獲取ls -lrt的結(jié)果,然后計算時間,把大于指定時間的文件名獲取到。

6、下載文件

ftp_cmd mget $files

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 时尚| 瑞金市| 兰考县| 称多县| 崇信县| 曲松县| 江阴市| 微山县| 梧州市| 陈巴尔虎旗| 自治县| 兴宁市| 乐陵市| 桑日县| 南皮县| 宁国市| 巴中市| 阆中市| 南溪县| 苏州市| 玉屏| 通渭县| 呼图壁县| 南木林县| 天全县| 漳浦县| 宣武区| 宝鸡市| 苍南县| 浪卡子县| 修水县| 乌兰浩特市| 当涂县| 莎车县| 宝坻区| 清水县| 八宿县| 岫岩| 长武县| 常宁市| 南漳县|