簡體   English   中英

用於查找該目錄中留下過去 7 天內創建的文件的空間的命令。 不使用`find`

[英]Command to find how much is the space in that directory leaving the files created in last 7 days. Without using `find`

我沒有適當的系統訪問權限來運行特權find命令。 所以我試圖獲取一串命令,可能使用grepawk或任何可以列出過去 7 天內未創建的文件以及它們消耗多少空間的命令。

我想出了這個命令du -h | grep ^[0-9.]*G du -h | grep ^[0-9.]*G現在我需要知道如何列出超過 7 天的列表。

上面命令的輸出是:

du: cannot read directory `./lost+found': Permission denied
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy1.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy2.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy5.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy6.extranet.akamai.com
1.1G    ./portal/portal-internal-crons/get_portal_logs/p3-sp01.extranet.akamai.com
1.2G    ./portal/portal-internal-crons/get_portal_logs/p3-sp02.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy7.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy8.extranet.akamai.com
1.1G    ./portal/portal-internal-crons/get_portal_logs/p3-sp03.extranet.akamai.com
1.1G    ./portal/portal-internal-crons/get_portal_logs/p3-sp04.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy3.extranet.akamai.com
1.5G    ./portal/portal-internal-crons/get_portal_logs/p3-proxy4.extranet.akamai.com
18G ./portal/portal-internal-crons/get_portal_logs
18G ./portal/portal-internal-crons
18G ./portal
19G .

如果您可以在目標上運行ls -lR --time-style=+%s ,您可以:

ls -lR --time-style=+%s | awk -v now=$(date +%s) '/^-/ && now - $6 > 7*24*3600 {s += $5} END {print s}'

解釋: ls -lR --time-style=+%s產生這種輸出:

.:
total 7168
drwxr-xr-x 2 john doe    4096 1439992030 dira
drwxr-xr-x 2 john doe    4096 1441870671 dirb
-rw-r--r-- 1 john doe   43980 1436264423 filea
-rw-r--r-- 1 john doe   15941 1436264418 fileb
-rw------- 1 john doe 7193171 1439374938 filec
-rw-r--r-- 1 john doe    2927 1436264418 filed

./dira:
total 8
-rw-r--r-- 1 john doe 1205 1439991207 filea
-rw-r--r-- 1 john doe  142 1439990672 fileb

./dirb:
total 4
-rw-r--r-- 1 john doe 116 1441870658 filea

其中最后修改日期是以秒為單位的時間戳。 awk代碼選擇與時間戳超過過去 7 天的文件(第一個字段以-開頭)對應的行。 它累加所選行的大小(字段編號 5)並在最后打印總和。 文件的年齡計算為當前時間戳( awk變量now )和文件的時間戳(字段編號 6)之間的差異。 當前時間戳now通過-v now=$(date +%s)選項作為變量傳遞給awk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM