`
zerxd
  • 浏览: 73666 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Linux下远程备份脚本

阅读更多
参考http://www.vpser.net/manage/scp.html
参考http://www.linuxidc.com/Linux/2008-01/10857.htm

场景:要将公网B机器上的数据库文件备份到局域网的A机器上,B机器上,每隔一天备份一次数据库

思路
因为局域网的机器无固定IP,所以在A机器上执行 ssh-keygen -t rsa

把这个密钥对中的公共密钥访问属性改为755,然后复制到B机器上去,并改名为 authorized_keys
[root@xxx root]#chmod 755 /root/.ssh/id_rsa.pub
[root@xxx root]# scp /root/.ssh/id_rsa.pub 192.168.1.92:/root/.ssh/authorized_keys
root@xxx's password

id_rsa.pub                                    100%  218     3.2MB/s   00:00

这样,可以从A机器上去上传文件至B机器,或者从B机器上下载文件至A(这里都是在A的机器上执行的操作)。

定期在A机器上执行如下脚本,就可以周期备份数据到A、B机器上。

#!/bin/bash

#用于数据库远程备份的脚本,会在远程服务器上的指定位置以及本机上各生成一个备份文件

remoteHost=192.168.1.168                        #远程服务器IP
remoteDB=/root/backup/                          #在远程服务器备份的目录
localDB=/root/backup/                           #本机的数据库备份目录

DATABASE=azGuard                                        #要备份的数据库名称
USERNAME=root                                           #数据库用户名
PASSWORD=root                                           #数据库密码

#生成的数据文件名
dbFile=${DATABASE}`date +%Y``date +%m``date +%d`".sql"

remoteFile=${remoteDB}${dbFile}
localFile=${localDB}${dbFile}

command="mysqldump -u${USERNAME} -p${PASSWORD} --databases ${DATABASE} > ${remoteFile}"
echo ${command}
result=`ssh root@${remoteHost} ${command}`
result=`scp root@${remoteHost}:${remoteFile} ${localFile}`
分享到:
评论

相关推荐

    linux下远程定时备份oracle数据库

    在远程备份Oracle数据库时,你需要获取Oracle数据库服务器的SSH访问权限,并配置相应的SSH密钥对,以便无密码登录。这样可以避免每次备份时手动输入密码,增加自动化程度。同时,确保Linux环境中的用户有执行Oracle...

    linux自动备份文件 并上传到远程服务器 脚本实现

    在Linux环境下进行自动化操作可以极大地提高工作效率,特别是对于数据备份及远程传输这样的重复性任务。本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL数据库的定时自动备份,并通过FTP协议上传至远程...

    Oracle备份脚本(Linux)

    这篇文章将详细介绍 Oracle 备份脚本在 Linux 系统中的实现,包括备份脚本的编写、备份目录的设置、备份日志的记录、磁盘空间的检查、远程服务器的备份等多个方面。 备份脚本的编写 备份脚本的编写是 Oracle 备份...

    linux远程复制备份文件

    远程复制备份文件,实现从一台机器复制文件到另外一台机器 用户名密码等在脚本中配置,实现自动输入,自动复制,完成备份

    PostgreSQL数据库备份脚本

    为了实现自动化,我们可以编写一个批处理脚本(如Pg备份脚本.bat),结合操作系统(如Linux的cron或Windows的任务计划程序)来定期执行备份。 **四、脚本编写** 一个简单的PostgreSQL备份脚本可能包括以下步骤: 1...

    windows&linux svn自动化全备份&增量备份脚本

    - `rsync`:Linux下的文件同步工具,可用于实现远程备份。 - `cron`:Linux的定时任务调度器。 - `Task Scheduler`:Windows的任务计划程序。 【压缩包子文件的文件名称列表】: - **linux下-SVN全量和增量备份...

    Linux 下通过脚本实现远程自动备份

    ### Linux下通过脚本实现远程自动备份 在现代IT环境中,数据备份是非常关键的一个环节,尤其是在服务器维护过程中。本文将详细介绍如何在Linux环境下利用脚本来实现远程自动备份,包括搭建SSH无密码登录环境、配置...

    linux下Oracle自动备份到远程

    ### Linux下Oracle自动备份到远程 #### 背景与目的 在企业级应用环境中,数据的安全性至关重要。为了防止因硬件故障、软件错误或人为失误导致的数据丢失,定期进行数据库备份是必不可少的操作之一。Oracle数据库...

    linux脚本备份

    这个脚本虽然简单,但涵盖了Linux自动化备份的基本元素,包括文件的打包、压缩、目录操作、日志记录以及远程文件传输。对于个人用户或小型系统,这样的脚本已经足够满足基本的备份需求。然而,对于大型企业或生产...

    文件自动备份脚本ForLinuxWithSVN

    "文件自动备份脚本ForLinuxWithSVN"就是一个这样的解决方案,它结合了Linux操作系统和Subversion(SVN)版本控制系统,实现了文件的自动、增量备份,以达到高效且节省资源的目的。 首先,让我们了解Linux系统。...

    自动实现linux平台下的sybase数据库转储及远程备份.pdf

    标题中的“自动实现Linux平台下的Sybase数据库转储及远程备份”是指在Linux操作系统环境下,利用Sybase数据库的特性以及Linux的定时任务机制,结合FTP远程传输技术,自动化完成数据库的备份并将其存储到远程服务器的...

    windows下通过ssh自动备份的脚本

    在Windows操作系统中,SSH(Secure Shell)是一种网络协议,用于安全地远程登录和执行命令,常见于Linux系统,但也可通过工具在Windows下实现。本文将详细介绍如何利用SSH在Windows环境下创建一个自动备份脚本,以...

    mysql定时备份(linux脚本).zip

    8. **远程备份**:如果需要将备份文件保存在远程服务器,可以使用`rsync`或者`scp`命令进行传输。 9. **清理策略**:根据存储空间和需求,可能还需要设定老备份的清理策略,如保留最近7天的备份。 在实际应用中,...

    oracle定时备份脚本(实例)

    备份脚本backup.sh的主要功能是从指定的Oracle数据库中导出数据,并将其压缩存放在特定目录下。具体步骤如下: - **环境初始化**: 设置必要的环境变量。 - **备份时间戳**: 使用`date '+20%y%m%d'`生成当前日期的...

    python交换机自动备份脚本

    Python交换机自动备份脚本是一种高效管理网络设备的方法,它能帮助网络管理员便捷地备份多个交换机的配置,包括华为、思科、华三和Aruba等不同品牌的设备。这样的脚本大大提高了工作效率,减少了手动操作的繁琐和...

    Linux+ftp+自动上传备份文件脚本

    总结来说,这个解决方案结合了RMAN的数据库备份、Linux的文件管理和FTP的远程传输,实现了自动化的数据库备份和远程存储,同时通过`cron`和批处理脚本进行定时清理,确保了备份空间的有效管理。在实际应用中,可以...

    win2003下sql2000自动备份脚本

    8. **Linux配合**:远程服务器是基于Linux的,脚本中还包含了一个简单的bash shell脚本来检查和删除旧的备份文件,确保只保留最近7天的备份。 综上所述,这个脚本提供了SQL Server 2000在Windows 2003环境下自动...

    linux之间实现db2异机备份还原总结

    具体来说,我们将通过NFS(Network File System)共享技术来实现数据的远程存储,并利用crontab定时任务来自动化DB2的在线备份过程。此外,还将介绍如何设置开机自动挂载NFS共享目录,以及如何执行在线增量备份等...

    如何在linux下实现mysql数据库每天自动备份 txt

    接下来,我们需要配置Cron定时任务来定期执行备份脚本。 1. **编辑crontab文件**:使用root用户或者具有执行权限的用户编辑crontab文件。 ```bash crontab -e ``` 2. **添加定时任务**:在crontab文件中添加...

Global site tag (gtag.js) - Google Analytics