MongoDB β ΡΡΠΎ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
NoSql.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
MongoDB.
Π‘ΠΊΡΠΈΠΏΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠ°ΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π½Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ:
!/bin/bash ###################################################################### ## ##Β Β MongoDB Database Backup Script ##Β Β Written By: Rahul Kumar ##Β Β Update on: June 20, 2020 ## ###################################################################### export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` ###################################################################### ###################################################################### DB_BACKUP_PATH='/backup/mongo' MONGO_HOST='localhost' MONGO_PORT='27017' # If mongodb is protected with username password. # Set AUTH_ENABLED to 1 # and add MONGO_USER and MONGO_PASSWD values correctly AUTH_ENABLED=0 MONGO_USER='' MONGO_PASSWD='' # Set DATABASE_NAMES to "ALL" to backup all databases. # or specify databases names seprated with space to backup # specific databases only. DATABASE_NAMES='ALL' #DATABASE_NAMES='mydb db2 newdb' ## Number of days to keep local backup copy BACKUP_RETAIN_DAYS=30Β Β ###################################################################### ###################################################################### mkdir -p ${DB_BACKUP_PATH}/${TODAY} AUTH_PARAM="" if [ ${AUTH_ENABLED} -eq 1 ]; then AUTH_PARAM=" --username ${MONGO_USER} --password ${MONGO_PASSWD} " fi if [ ${DATABASE_NAMES} = "ALL" ]; then echo "You have choose to backup all databases" mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} ${AUTH_PARAM} --out ${DB_BACKUP_PATH}/${TODAY}/ else echo "Running backup for selected databases" for DB_NAME in ${DATABASE_NAMES} do mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} --db ${DB_NAME} ${AUTH_PARAM} --out ${DB_BACKUP_PATH}/${TODAY}/ done fi ######## Remove backups older than {BACKUP_RETAIN_DAYS} daysΒ Β ######## DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then Β Β Β Β Β Β cd ${DB_BACKUP_PATH} Β Β Β Β Β Β if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then Β Β Β Β Β Β Β Β Β Β Β Β rm -rf ${DBDELDATE} Β Β Β Β Β Β fi fi ######################### End of script ##############################
Π Π°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ MongoDB
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π² crontab Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
0 2 * * * /backup/mongo-backup.sh
2020-06-23T08:44:52
Π‘ΠΊΡΠΈΠΏΡΡ