19 lines
534 B
Text
19 lines
534 B
Text
![]() |
#!/usr/bin/env bash
|
||
|
# https://serverfault.com/questions/538978/how-to-run-a-command-once-a-zfs-scrub-completes
|
||
|
set -euo pipefail
|
||
|
|
||
|
curl -m 10 --retry 5 {{ host.data.zfs_healthchecks }}/start
|
||
|
zpool scrub local
|
||
|
# wait until scrub is finished
|
||
|
while zpool status local | grep -q 'scan: *scrub in progress'; do
|
||
|
zpool status local
|
||
|
sleep 600
|
||
|
done
|
||
|
|
||
|
zpool status local
|
||
|
|
||
|
# Get stdout from journalctl
|
||
|
LOG=$(journalctl -o cat -r -u zfs-scrub.service -n 100)
|
||
|
curl -fsS -m 10 --retry 5 --data-raw "$LOG" {{ host.data.zfs_healthchecks }}
|
||
|
exit 0
|