Bash Script Fixing ETCD No Space
#!/bin/bash CA=/opt/apps/certificate/ca.pem CRT=/opt/apps/certificate/postgres.pem KEY=/opt/apps/certificate/postgres-key.pem DATE=`date +%Y%m%d` HOST_1=192.168.56.11 HOST_2=192.168.56.12 HOST_3=192.168.56.13 DIR=/opt/apps/etcd/backup/
echo "----------Start Backup ETCD----------" etcdctl snapshot save /opt/apps/etcd/backup/${DATE}_etcd.db --endpoints=https://$HOST_1:2379 --cacert=$CA --cert=$CRT --key=$KEY echo "----------End Backup ETCD----------"
echo "----------Start Compact ETCD----------" #obtain the latest revision to compact #REVISION=`etcdctl endpoint status --write-out=json --endpoints=https://$HOST_2:2379 --cacert=$CA --cert=$CRT --key=$KEY | egrep -o '"revision":[0-9]*' | egrep -o '[0-9]*'`
REVISION=`etcdctl endpoint status --write-out=json --endpoints=https://192.168.56.11:2379 --cacert=/opt/apps/certificate/ca.pem --cert=/opt/apps/certificate/postgres.pem --key=/opt/apps/certificate/postgres-key.pem | egrep -o '"revision":[0-9]*' | egrep -o '[0-9]*'`
#check etcd status snapshot etcdutl --write-out=table snapshot status /opt/apps/etcd/backup/${DATE}_etcd.db
etcdctl compact $REVISION --endpoints=https://$HOST_1:2379 --cacert=$CA --cert=$CRT --key=$KEY echo "----------End Compact Etcd----------"
echo "----------Start Fixing Error : NOSPACE----------" #Defrag-Disarm etcdctl --endpoints=https://192.168.56.11:2379,https://192.168.56.12:2379,https://192.168.56.13:2379 --cacert=$CA --cert=$CRT --key=$KEY --command-timeout=120s defrag etcdctl --endpoints=https://192.168.56.11:2379,https://192.168.56.12:2379,https://192.168.56.13:2379 --cacert=$CA --cert=$CRT --key=$KEY --command-timeout=120s alarm disarm echo "----------End Fixing Error : NOSPACE----------"
echo "----------Start remove OLD backup db ETCD----------" #remove backup after 15 days find ${DIR} -type f -iname "*.db" -mtime +14 -exec rm {} \; echo "----------End remove OLD backup db ETCD----------" |
Tidak ada komentar:
Posting Komentar