dusage="1 5 10 20 30 40 50"
musage="1 5 10 20 30"
-e() { echo "$*"; "$@"; }
+e() { echo "cron: $*"; "$@"; }
fnd="findmnt --types btrfs --noheading"
for x in $($fnd --output "SOURCE" --nofsroot | sort -u); do
mnt=$($fnd --output "TARGET" --first-only --source $x)
[[ $mnt ]] || continue
- echo "Before balance of $mnt"
- e btrfs filesystem df $mnt
- df -H $mnt
+ # for comparing before and after balance.
+ # the log is already fairly verbose, so commented.
+ # e btrfs filesystem df $mnt
+ # e df -H $mnt
if btrfs filesystem df $mnt | grep -q "Data+Metadata"; then
for usage in $dusage; do
- e btrfs balance start -v -dusage=$usage -musage=$usage $mnt
+ e btrfs balance start -dusage=$usage -musage=$usage $mnt
done
else
e btrfs balance start -dusage=0 $mnt
for usage in $dusage; do
- e btrfs balance start -v -dusage=$usage $mnt
+ e btrfs balance start -dusage=$usage $mnt
done
e btrfs balance start -musage=0 $mnt
for usage in $musage; do
- e btrfs balance start -v -musage=$usage $mnt
+ e btrfs balance start -musage=$usage $mnt
done
fi
- echo "After balance of $mnt"
- btrfs filesystem df $mnt
- df -H $mnt
-
+ # e btrfs filesystem df $mnt
+ # e df -H $mnt
date=$(
btrfs scrub status $mnt | \
sed -rn 's/^\s*scrub started at (.*) and finished.*/\1/p'
# it makes the comp lag like shit for a day,
# so I'm going with 90 days.
if (( $date > `date +%s` - 60*60*24*30 )); then
- echo "skiping scrub of $mnt"
+ echo "cron: skiping scrub of $mnt"
continue
fi
fi
- btrfs scrub start -Bd $mnt
+ e btrfs scrub start -Bd $mnt
done