1. Script backup full
#[root@teguhth mongod]# cat backup_mongodb_full_script.sh
##-bash-4.2$ cat backup_mongodb_full_script.sh
echo ""
Server=$(hostname)
ip_address=$(ip a | awk '/inet / && $2 !~ /^127\./ {gsub("addr:","",$2); print $2}')
# Print the IP address
ipx='10.10.10.90'
portx='27017'
userx='admin'
passwdx='admin'
dbversion=$(mongosh --host=$ipx --port=$portx --quiet -u $userx -p $passwdx --authenticationDatabase admin --eval 'db.version()');
infotgl=$(date)
echo ".::: Backup Full All database using custom in '$Server' with IP $ip_address :::."
echo ""
echo "MongoDB Version : '$Server' $dbversion"
echo ""
#!/bin/bash
#
#clear;
year=`date +%Y`; month=`date +%m`; day=`date +%d`; hour=`date +%H`; min=`date +%M`; sec=`date +%S`; dayname=`date +%a`;underscore='_';
echo "Backup begin $infotgl"
echo ""
backuppath="/root/backupmongodb";
dbname=$(mongosh --host=$ipx --port=$portx --quiet -u $userx -p $passwdx --authenticationDatabase admin --eval 'db.adminCommand("listDatabases").databases.filter(db => !["admin","config","local"].includes(db.name)).forEach(db => print(db.name))');
for listdb in $dbname
do
mkdir -p $backuppath/$year$month$day;
#path="$backuppath/$year$month$day/$listdb";
path="$backuppath/$year$month$day/";
echo "Backup Full for database '$listdb' in $path start at $year$month$day$underscore$hour$min$sec"
mongodump --host=$ipx --db=$listdb -u=$userx -p=$passwdx --out=$path
echo "Finish Backup Full for database '$listdb' in $path at $year$month$day$underscore$hour$min$sec"
echo ""
done;
echo ""
echo "Backup finish $infotgl"
echo ""
echo "Copyright by : Teguh Triharto"
echo "Website : https://www.linkedin.com/in/teguhth"
echo ""
2. script backup full with date
[root@teguhth mongod]# cat backup_mongodb_full_script_date.sh
#!/bin/bash
Server=$(hostname)
ip_address=$(ip a | awk '/inet / && $2 !~ /^127\./ {gsub("addr:","",$2); print $2}')
dbversion=$(mongosh --host=10.10.10.90 --port=27017 --quiet -u admin -p admin --authenticationDatabase admin --eval 'db.version()')
infotgl=$(date)
year=$(date +%Y); month=$(date +%m); day=$(date +%d)
hour=$(date +%H); min=$(date +%M); sec=$(date +%S)
underscore='_'
echo ""
echo ".::: Backup Full All database using custom in '$Server' with IP $ip_address :::."
echo ""
echo "MongoDB Version : '$Server' $dbversion"
echo ""
echo "Backup begin $infotgl"
echo ""
backuppath="/root/backupmongodb"
mkdir -p $backuppath/$year$month$day
# Ambil nama database kecuali admin, config, local
dbname=$(mongosh --host=10.10.10.90 --port=27017 --quiet -u admin -p admin --authenticationDatabase admin --eval \
'db.adminCommand("listDatabases").databases.filter(db => !["admin","config","local"].includes(db.name)).map(db => db.name).join(" ")')
for listdb in $dbname
do
timestamp=${year}${month}${day}${underscore}${hour}${min}${sec}
path="$backuppath/$year$month$day/${listdb}_${timestamp}"
mkdir -p "$path"
echo "Backup Full for database '$listdb' in $path start at $timestamp"
mongodump --host=10.10.10.90 --port=27017 --db="$listdb" -u=admin -p=admin --authenticationDatabase=admin --out="$path"
echo "Finish Backup Full for database '$listdb' in $path at $timestamp"
done
echo ""
echo "Backup finish $infotgl"
echo ""
echo "Copyright by : Teguh Triharto"
echo "Website : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth mongod]#
3. script backup full with date & gzip
[root@teguhth mongod]# cat backup_mongodb_full_script_compres.sh
#!/bin/bash
Server=$(hostname)
ip_address=$(ip a | awk '/inet / && $2 !~ /^127\./ {gsub("addr:","",$2); print $2}')
dbversion=$(mongosh --host=10.10.10.90 --port=27017 --quiet -u admin -p admin --authenticationDatabase admin --eval 'db.version()')
infotgl=$(date)
year=$(date +%Y); month=$(date +%m); day=$(date +%d)
hour=$(date +%H); min=$(date +%M); sec=$(date +%S)
underscore='_'
echo ""
echo ".::: Backup Full All database using custom in '$Server' with IP $ip_address :::."
echo ""
echo "MongoDB Version : '$Server' $dbversion"
echo ""
echo "Backup begin $infotgl"
echo ""
backuppath="/root/backupmongodb"
mkdir -p $backuppath/$year$month$day
# Ambil nama database kecuali admin, config, local
dbname=$(mongosh --host=10.10.10.90 --port=27017 --quiet -u admin -p admin --authenticationDatabase admin --eval \
'db.adminCommand("listDatabases").databases.filter(db => !["admin","config","local"].includes(db.name)).map(db => db.name).join(" ")')
for listdb in $dbname
do
timestamp=${year}${month}${day}${underscore}${hour}${min}${sec}
foldername="${listdb}_${timestamp}"
path="$backuppath/$year$month$day/$foldername"
mkdir -p "$path"
echo "Backup Full for database '$listdb' in $path start at $timestamp"
mongodump --host=10.10.10.90 --port=27017 --db="$listdb" -u=admin -p=admin --authenticationDatabase=admin --out="$path"
echo "Finish Backup Full for database '$listdb' in $path at $timestamp"
# Kompres folder hasil backup
cd "$backuppath/$year$month$day"
tar -czf "${foldername}.tar.gz" "$foldername"
# Hapus folder hasil dump setelah dikompres
rm -rf "$foldername"
cd - >/dev/null
done
echo ""
echo "Backup finish $infotgl"
echo ""
echo "Copyright by : Teguh Triharto"
echo "Website : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth mongod]#
No comments:
Post a Comment