
我只有一個 SFTP 用戶,我希望它能看到可用空間。
我想製作一個cron
每 30 分鐘運行一次的程序,刪除舊檔案並放置新檔案以顯示可用磁碟空間。
我可以直接放df -h > df.txt
,但我不想那樣做。我想要一個空文件,文件名如下:3.1G.available
,然後在 shell 腳本中刪除*.available
並建立新文件 - 該文件由 cron 運行。
提前致謝。
答案1
讓我們從命令開始df
,使用-h
選項以人類可讀的格式給出大小(在本例中為千兆位元組)
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 226G 2.4G 213G 2% /
udev 1.7G 4.0K 1.7G 1% /dev
tmpfs 691M 324K 690M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.7G 0 1.7G 0% /run/shm
現在讓我們grep
將該命令的輸出範圍縮小到我們關心的分區 -sda1
$ df -h | grep 'sda1'
/dev/sda1 226G 2.4G 213G 2% /
看起來不錯。讓我們繼續將其範圍縮小到僅“可用”列,使用awk
$ df -h | grep 'sda1' | awk '{print $4}'
213G
那可行。現在我們將指令用反引號括起來,以便輸出回到 shell。然後我們將使用該touch
命令使用我們構建的命令的輸出以及字串“.available”創建一個空文件
$ touch `df -h | grep 'sda1' | awk '{print $4}'`.available
$ ls
213G.available
就這樣吧!
答案2
其他方式
touch `df -h --output='avail' / | tail -1`.available