如何将可用磁盘空间放入文件名?

如何将可用磁盘空间放入文件名?

我只有一个 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

相关内容