当前位置: 首页 > news >正文

[mongodb][备份]MongoDBBak.bat

@echo off
forfiles /p d:\mongodbbackupdata /s /m *.* /d -5 /c "cmd /c del @file"
set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
mongodump -h localhost -o "d:/mongodbbackupdata/%THISDATE%" --authenticationDatabase admin

        Windows批处理脚本,用于删除d:\mongodbbackupdata目录下5天前的文件,并备份MongoDB数据库。下面是脚本的逐行解释:

  1. @echo off

    • 关闭命令回显,即不在命令行中显示执行的命令。
  2. forfiles /p d:\mongodbbackupdata /s /m *.* /d -5 /c "cmd /c del @file"

    • 使用forfiles命令遍历d:\mongodbbackupdata目录及其子目录下的所有文件。
    • /s参数表示递归遍历子目录。
    • /m *.*表示匹配所有文件。
    • /d -5表示选择5天前的文件。
    • /c "cmd /c del @file"表示对每个匹配的文件执行删除操作。
  3. set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

    • 设置变量THISDATE为当前日期,格式为YYYYMMDD
    • %DATE:~0,4%获取日期的前4个字符(年)。
    • %DATE:~5,2%获取日期的第5和第6个字符(月)。
    • %DATE:~8,2%获取日期的第9和第10个字符(日)。
  4. mongodump -h localhost -o "d:/mongodbbackupdata/%THISDATE%" --authenticationDatabase admin

    • 使用mongodump工具备份MongoDB数据库。
    • -h localhost指定连接到本地主机上的MongoDB实例。
    • -o "d:/mongodbbackupdata/%THISDATE%"指定备份文件的输出目录,目录名为当前日期。
    • --authenticationDatabase admin指定认证数据库为admin

请注意,这个脚本有几个潜在的问题和改进点:

  1. 日期格式:%DATE%变量的格式取决于系统的区域设置,可能需要根据您的系统调整THISDATE的提取方式。

  2. 权限问题:确保运行脚本的用户有足够的权限访问MongoDB实例和指定的目录。

  3. 安全性:在备份数据库时,确保备份文件的安全性,避免敏感数据泄露。

  4. 错误处理:脚本中没有错误处理机制,可能需要添加一些错误检查和日志记录功能。

  5. 备份清理:脚本已经包含了删除旧文件的功能,但请确保备份策略符合您的数据保留需求。


http://www.mrgr.cn/news/33491.html

相关文章:

  • 【C++前缀和 排序】2171. 拿出最少数目的魔法豆|1748
  • .netCore运行的环境WindowsHosting和dotnet-sdk区别
  • 返回倒数第k个节点
  • 三阶魔方还原法 勾上回下 上右左左右
  • 字节数据转16进制对应十进制数
  • 【基础算法总结】模拟篇
  • C++之模版的进阶
  • arm-硬件
  • 240922-Conda的在线下载与离线安装
  • LeetcodeTop100 刷题总结(二)
  • 如何用Shell命令结合 正则表达式 统计文本中的ip地址数量
  • 【LeetCode热题100】位运算
  • MELON的难题- 华为OD统一考试(E卷)
  • Cpp类和对象(中)(4)
  • TryHackMe 第3天 | Pre Security (二)
  • 微信小程序教程:如何在个人中心实现头像贴纸功能
  • 英语(二)-写作常用词汇和句型范文
  • [Linux]用户管理指令
  • 2024/9/22 英语每日一段
  • [JavaEE] 网络编程----UDP / TCP 回显服务器