Estou executando o seguinte no Debian 10:
zfs-0.8.4-2~bpo10+1
zfs-kmod-0.8.4-2~bpo10+1
Eu tenho um conjunto de dados de 2 TB (criptografado por senha) usado por muitos colegas. Também estou usando o Zabbix para monitoramento e implementei alguns alarmes para saber se muitos arquivos foram excluídos. Este é o script que estou executando como cronjob uma vez por dia para verificar quantos arquivos foram modificados, excluídos ou adicionados:
#!/bin/bash
LIST="/tmp/snaplist.txt"
DIFF="/tmp/diff.txt"
zfs list -t snapshot | grep production_dataset | grep 'snap_31' | awk '{print $1}' | tail -2 > $LIST && echo "Snapshot list saved"
while read -r SNAP; do
snaps+=("$SNAP")
done < $LIST
zfs diff "${snaps[0]}" "${snaps[1]}" > $DIFF && echo "Diff saved successfully"
status=(M - + R)
trappers=(mod rem add ren)
for ((n=0;n<${#status[@]};n++)); do
RESULT=$(cat $DIFF | grep -E "^${status[n]}" | wc -l)
TRAPPER="zfsdiff_${trappers[n]}"
/usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "$TRAPPER" -o "$RESULT"
done
rm $LIST
rm $DIFF
Se eu executar o script manualmente, ele funcionará 90% das vezes. Às vezes dá esse erro (ao executar o zfs diff
comando:
Key must be loaded to discover path names: Permission denied
Ao executar o script via cron, ele falha quase o tempo todo,a menos queEu executei o script manualmente primeiro. Aí funciona por 2 dias e volta a me dar o erro acima.
Também demora muito para fazer a comparação (15-20 minutos) e não tenho certeza se isso tem algo a ver com o erro acima ou não. Alguma ideia?