mongodb自动备份

windows环境备份如下:

@echo off

set BACKUP_DIR=C:\path\to\backup\directory
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
set DB_HOST=localhost
set DB_PORT=27017
set DB_NAME=your_database_name

mkdir %BACKUP_DIR%

mongodump --host %DB_HOST% --port %DB_PORT% --db %DB_NAME% --out %BACKUP_DIR%\%TIMESTAMP%

rem 根据需要进行其他操作,比如压缩备份文件等

rem 可选:删除过期的备份文件
forfiles /p %BACKUP_DIR% /m *.gz /d -7 /c "cmd /c del @path"

echo 备份已完成:%BACKUP_DIR%\%TIMESTAMP%

请根据你的实际情况修改以下变量:

BACKUP_DIR:备份文件存储的目录路径。
DB_HOST:MongoDB服务器的地址。
DB_PORT:MongoDB服务器的端口。
DB_NAME:要备份的数据库名称。
将以上脚本保存为一个文件(例如backup.bat),然后通过双击运行即可进行备份。或者你也可以通过Windows任务计划程序来定期运行该脚本,实现自动备份MongoDB数据库。


windows不使用windows任务计划程序运行脚本如下:

#!/bin/bash

# 定义备份相关的变量
BACKUP_DIR="/path/to/backup/directory"
DB_HOST="localhost"
DB_PORT="27017"
DB_NAME="your_database_name"

# 创建备份目录
mkdir -p $BACKUP_DIR

while true
do
  # 获取当前时间戳
  TIMESTAMP=$(date +%Y%m%d%H%M%S)

  # 执行备份命令
  mongodump --host $DB_HOST --port $DB_PORT --db $DB_NAME --out $BACKUP_DIR/$TIMESTAMP

  # 根据需要进行其他操作,比如压缩备份文件等

  # 可选:删除过期的备份文件
  find $BACKUP_DIR -type f -name "*.gz" -mtime +7 -delete

  # 输出备份完成的消息
  echo "备份已完成:$BACKUP_DIR/$TIMESTAMP"

  # 等待1小时后再次执行备份
  sleep 1h
done

Shell脚本备份如下:

#!/bin/bash

# 定义备份相关的变量
BACKUP_DIR="/path/to/backup/directory"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
DB_HOST="localhost"
DB_PORT="27017"
DB_NAME="your_database_name"

# 创建备份目录
mkdir -p $BACKUP_DIR

# 执行备份命令
mongodump --host $DB_HOST --port $DB_PORT --db $DB_NAME --out $BACKUP_DIR/$TIMESTAMP

# 根据需要进行其他操作,比如压缩备份文件等

# 可选:删除过期的备份文件
find $BACKUP_DIR -type f -name "*.gz" -mtime +7 -delete

# 输出备份完成的消息
echo "备份已完成:$BACKUP_DIR/$TIMESTAMP"

请根据你的实际情况修改以下变量:

BACKUP_DIR:备份文件存储的目录路径。
DB_HOST:MongoDB服务器的地址。
DB_PORT:MongoDB服务器的端口。
DB_NAME:要备份的数据库名称。
将以上脚本保存为一个文件(例如backup.sh),然后使用chmod命令给予执行权限(例如chmod +x backup.sh)。最后,你可以手动运行脚本来进行备份,或者将脚本添加到cron定时任务中以便定期自动运行。

要将脚本添加到cron中,可以使用以下命令:
crontab -e
然后在打开的文本编辑器中添加以下行来设置定时任务:
0 1 * * * /path/to/backup.sh
这将使脚本每天的凌晨1点运行一次。请根据你的需求和环境进行相应的调整。保存并关闭编辑器后,cron将自动加载新的定时任务。

记录于20240116---

你可能感兴趣的:(mongodb)