我无法确定如何获得当前在 btrfs 子卷上设置的配额限制。 关于配额的 btrfs wiki似乎没有显示这一点。
这就是我认为我知道的:
btrfs qgroup limit 21G /pathbtrfs qgroup show /path但是如何检查已经设置的限制?
小智 5
使用选项-r和-e:
btrfs qgroup show -pcre /path
Run Code Online (Sandbox Code Playgroud)
我创建了一个简单的脚本,它将显示指定路径中每个子卷的配额限制以及已用空间。语法非常简单:
./quota.sh pathRun Code Online (Sandbox Code Playgroud)
要打印所有子卷的已用空间,请使用 -a 标志:
./quota.sh path -aRun Code Online (Sandbox Code Playgroud)
不要忘记为脚本添加执行权限。
#! /bin/sh
volumes=$(btrfs subvolume list $1 | cut -d " " -f 9 )
snapshots=$(btrfs subvolume list -s $1 | cut -d " " -f 14 )
regsnap=$(echo $snapshots | sed 's/ /,/g')
normalv=$(echo $volumes | sed "s/\($regsnap\)//g" )
if [ ! -z "$snapshots" ] ; then
echo SNAPSHOTS
for p in $snapshots; do
quot=$(btrfs qgroup show -rF $1/$p | tail -1)
if [ -z $2 ]; then
(echo $quot | grep -q none) || echo $p $quot
else
[ "$2" == "-a" ] && echo $p $quot
fi
done
fi
if [ ! -z "$normalv" ] ; then
echo SUBVOLUMES
for p in $normalv; do
quot=$(btrfs qgroup show -rF $1/$p | tail -1)
if [ -z $2 ]; then
(echo $quot | grep -q none) || echo $p $quot
else
[ "$2" == "-a" ] && echo $p $quot
fi
done
fi
Run Code Online (Sandbox Code Playgroud)
它将首先打印传统子卷和快照卷下方。示例输出:
SNAPSHOTS
apple 0/258 1.32MiB 16.00KiB 20.00MiB
SUBVOLUMES
citrus/orange 0/256 1.32MiB 16.00KiB 20.00MiB
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6429 次 |
| 最近记录: |