我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MongoDB实现自动备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MongoDB实现自动备份

本篇文章给大家分享的是有关MongoDB实现自动备份,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

安装expect

yum install -y expect

编写expect脚本

expect语法非常简单,和Shell几乎一样。笔者的脚本编写如下:

#!/bin/expect 
# spawn是expect的语句,执行命令前需添加该字眼 
set DATE [exec date "+%Y-%m-%d"] 
set DIR /xxxxx/dbbak-$DATE 
spawn rm -rf $DIR 
spawn echo 'removing...$DIR' 
spawn mongodump -h {host:port} -u {user} -d {dbname} -o $DIR 
# 交互获取是否返回password:关键字 
expect "password:" 
# 将密码发送过去,注意最后的换行不能少,否则得人工输入回车。 
send "密码\r" 
# 停留在远程控制台,没有这行就会直接返回本地控制台,而不等shell执行完 
interact

注释很全面了,聪明的你阅读肯定没有压力。最终备份出来的文件会存放在 /xxxxx/dbbak-备份日期 目录中。

自动备份

笔者利用Linux定时任务实现自动执行。

crontab -e

在新窗口中添加如下内容:

0 0 1 * * ? /usr/bin/expect 上面expect shell的完整路径

原本以为这样就可以定时执行了,然而却无法正常执行。

百度后,将脚本修改为如下,终于可以正常执行了。

#!/bin/expect 
# spawn是expect的语句,执行命令前需添加该字眼 
set DATE [exec date "+%Y-%m-%d"] 
set DIR /xxxxx/dbbak-$DATE 
spawn rm -rf $DIR 
spawn echo 'removing...$DIR' 
spawn mongodump -h {host:port} -u {user} -d {dbname} -o $DIR 
# 交互获取是否返回password:关键字 
expect "password:" 
# 将密码发送过去,注意最后的换行不能少,否则得人工输入回车。 
send "密码\r" 
 
set timeout 120 
expect eof 
 
exit

以上就是MongoDB实现自动备份,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MongoDB实现自动备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用MySQL实现自动备份

使用MySQL实现自动备份有以下几个步骤:1. 创建一个备份脚本:使用Shell脚本或其他编程语言编写一个脚本,用于执行备份操作。脚本可以使用MySQL提供的命令行工具(如mysqldump)来实现备份。2. 定义备份策略:确定备份的频率和
2023-08-29

RHEL5 中怎么实现mysql自动备份

这篇文章将为大家详细讲解有关RHEL5 中怎么实现mysql自动备份,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 创建shell脚本文件filename=`date +%Y%m%d_%
2023-06-16

mysql自动备份数据怎么实现

要实现MySQL自动备份数据,可以使用以下几种方法:使用MySQL提供的自带工具mysqldump命令来备份数据。可以编写一个脚本,在指定的时间点执行mysqldump命令来备份数据,并将备份文件保存在指定的目录中。使用MySQL的事件调度
mysql自动备份数据怎么实现
2024-04-09

linux下怎么实现ftp自动备份

本篇内容介绍了“linux下怎么实现ftp自动备份”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!利用here文档 代码如下:#!/bin/s
2023-06-09

MySQL实现自动备份怎么设置

MySQL可以通过设置定时任务来实现自动备份。以下是一种常见的设置方法:1. 创建一个备份脚本:```#!/bin/bash# 定义备份文件的存储路径backup_dir="/path/to/backup"# 定义备份文件的名称,可以使用日
2023-08-30

linux中mysql自动备份怎么实现

在Linux系统中,可以通过cron任务定时执行mysqldump命令来实现MySQL数据库的自动备份。以下是步骤:编辑crontab文件,执行命令crontab -e进入编辑模式。添加一行代码来设置定时执行mysqldump命令,例如:
linux中mysql自动备份怎么实现
2024-05-11

python实现mongodb的备份与导

python实现mongodb的备份与导入背景:192.168.122.1    python192.168.122.11  mongodbPython备份mongo 代码: # -*- coding:utf-8 -*- import ti
2023-01-31

postgresql数据库自动备份怎么实现

有多种方法可以实现PostgreSQL数据库的自动备份,以下是其中一种常见的方法:编写备份脚本:可以编写一个 shell 脚本或者 Python 脚本来实现定时备份数据库的功能。通过使用 pg_dump 命令来备份数据库,并将备份文件保存在
postgresql数据库自动备份怎么实现
2024-04-08

sql自动备份数据库怎么实现

可以通过编写一个定时脚本来实现自动备份数据库。以下是一个简单的示例脚本:创建一个备份脚本(backup.sh):#!/bin/bash# 设置数据库连接信息DB_USER="your_db_user"DB_PASS="your_db_p
sql自动备份数据库怎么实现
2024-04-09

linux下实现ftp自动备份shell脚本

利用here文档 #!/bin/sh ftp -ivn 210.29.28.124 <
2022-06-04

编程热搜

目录