2017-09-26 15:15:17 +00:00
|
|
|
#!/bin/bash
|
2019-03-20 10:09:07 +00:00
|
|
|
|
2022-02-16 02:55:20 +00:00
|
|
|
if [ "$1" == "" ] || [ "$1" != "all" ] && [ "$1" != "base" ];
|
|
|
|
then
|
|
|
|
echo "Usage: backup_es_folders [all, base]"
|
|
|
|
echo " all = backup all ES folder"
|
|
|
|
echo " base = backup only Kibana index".
|
|
|
|
echo
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
2017-09-26 15:15:17 +00:00
|
|
|
# Backup all ES relevant folders
|
|
|
|
# Make sure ES is available
|
|
|
|
myES="http://127.0.0.1:64298/"
|
|
|
|
myESSTATUS=$(curl -s -XGET ''$myES'_cluster/health' | jq '.' | grep -c green)
|
|
|
|
if ! [ "$myESSTATUS" = "1" ]
|
|
|
|
then
|
2024-03-18 15:19:49 +00:00
|
|
|
echo "### Elasticsearch is not available."
|
2017-09-26 15:15:17 +00:00
|
|
|
exit
|
|
|
|
else
|
|
|
|
echo "### Elasticsearch is available, now continuing."
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Set vars
|
|
|
|
myDATE=$(date +%Y%m%d%H%M)
|
2024-03-18 15:19:49 +00:00
|
|
|
myPATH=$PWD
|
|
|
|
myELKPATH="data/elk/data"
|
|
|
|
myKIBANAINDEXNAMES=$(curl -s -XGET ''$myES'_cat/indices/.kibana_*?v&s=index&h=uuid' | tail -n +2)
|
|
|
|
#echo $myKIBANAINDEXNAMES
|
|
|
|
for i in $myKIBANAINDEXNAMES;
|
|
|
|
do
|
|
|
|
myKIBANAINDEXPATHS="$myKIBANAINDEXPATHS $myELKPATH/indices/$i"
|
|
|
|
done
|
2017-09-26 15:15:17 +00:00
|
|
|
|
|
|
|
# Backup DB in 2 flavors
|
2024-03-18 15:19:49 +00:00
|
|
|
cd $HOME/tpotce
|
|
|
|
|
2017-09-26 15:15:17 +00:00
|
|
|
echo "### Now backing up Elasticsearch folders ..."
|
2022-02-16 02:55:20 +00:00
|
|
|
if [ "$1" == "all" ];
|
|
|
|
then
|
2024-03-18 15:19:49 +00:00
|
|
|
tar cvfz $myPATH"/elkall_"$myDATE".tgz" $myELKPATH
|
2022-02-16 02:55:20 +00:00
|
|
|
elif [ "$1" == "base" ];
|
|
|
|
then
|
2024-03-18 15:19:49 +00:00
|
|
|
tar cvfz $myPATH"/elkbase_"$myDATE".tgz" $myKIBANAINDEXPATHS
|
2022-02-16 02:55:20 +00:00
|
|
|
fi
|
|
|
|
|
2024-03-18 15:19:49 +00:00
|
|
|
cd $myPATH
|