`
haiouc
  • 浏览: 115188 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

      考虑到在本机上备份数据,一旦该机器硬盘出现故障,数据无法取出。远程手动备份数据费时费力且不及时。最好的方法就是通过脚本实现远程自动互备。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用rsync,scp,rexec等命令来做的远程备份了。

===> 实现远程备份的方案较多,这仅是方法之一

 

  1. 设置无需密码的ssh登陆方法如下:
  假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:

 

  1)在A机上生成钥匙对,执行以下命令:
  ssh-keygen -t rsa
  Generating public/private rsa key pair.
  Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
  Enter passphrase (empty for no passphrase):直接回车
  Enter same passphrase again:直接回车
  Your identification has been saved in /root/.ssh/id_rsa.
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  The key fingerprint is:
  f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1

  这样,在/root/.ssh/路径下会生成id_rsa,和id_rsa.pub,其中id_rsa是密钥,id_rsa.pub是公钥。

 

  2)把在A机生成的id_rsa.pub拷贝到B机上,假设拷贝到B机的临时目录下,如:
  scp /root/.ssh/id_rsa.pub root@218.242.214.20:/tmp

 

  3)用root帐号登陆B机,进入其主目录,创建authorized_keys文件,并设置好权限。
  cd ~/.ssh
  cat /tmp/id_rsa.pub >>authorized_keys
  chmod 400 authorized_keys
  rm -f /tmp/id_rsa.pub

 

  4)测试
  在A机上转到root帐号,尝试登录B机。看看是不是不要密码.

  说明:
  authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的。
  记得将临时目录下的id_rsa.pub删除,养成个好习惯。
  本方法在Red Hat9.0上测试通过。

 

 

  2. 编辑crontab文件
  vi /etc/crontab

  如设置每天凌晨3:00执行cron.daily中的脚本:
  00 3 * * * root run-parts /etc/cron.daily

 

  3.编辑cron.daily中的脚本
  cd /etc/cron.daily/

 

  vi backupdb
  pg_dump -U postgres voipack > /voipack.sql
  pg_dump -U postgres regserver > /regserver.sql
  tar -cvjf /aavm.tgz.bz2 /usr/local/aavm
  tar -cvjf /oracle.tgz.bz2 /var/oracle
  scp /voipack.sql root@218.242.214.20:/root/218.242.214.23_backup
  scp /regserver.sql root@218.242.214.20:/root/218.242.214.23_backup
  scp /aavm.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup
  scp /oracle.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup

 

  将23上产生的备份文件copy到218.242.214.20:/root/218.242.214.23_backup路径下
  同样的方法可以将假设B服务器上的数据备份到A服务器,实现双机的互备。

分享到:
评论

相关推荐

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

    Linux 下通过脚本实现远程自动备份.很常用的备份脚本信息;

    嵌入式系统/ARM技术中的Linux 下通过脚本实现远程自动备份

    最好的方法就是通过脚本实现远程自动互备。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用rsync,scp,rexec等命令来做的远程...

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

    Linux下mysql定时自动备份并FTP到远程脚本

    linux远程复制备份文件

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

    Linux Shell脚本经典案例合集

    18个Linux Shell脚本经典案例合集,内含: Dos攻击防范(自动屏蔽攻击IP).sh Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx访问日志分析脚本.sh...

    shell脚本基于sftp自动拉取远程备份文件,用于异地灾备

    脚本主要是通过sftp远程登录并拉取需要灾备的文件,配合Linux操作系统的定时任务即可实现自定义远程文件拉取功能。 脚本有个缺点是第一次执行脚本时,需手动输入一次服务器密码,仅输入一次即可,后续即可自动下载...

    18个Linux Shell脚本经典案例视频.zip

    批量主机远程执行命令脚本 批量创建100用户并设置密码脚本 批量检测网站是否异常脚本 服务器系统配置初始化脚本 查看网卡实时流量脚本 监控100台服务器磁盘利用率脚本 监控MySQL主从同步状态是否异常脚本 目录文件...

    oracle物理增量备份(windows客户机linux数据库服务器)

    在windows系统下去备份linux数据库服务上的oracle数据库,可以通过远程自动备份实现。 本文以上述环境为备份场景,采用物理增量备份方法,制定备份策略,包括自动备份的脚本以及任务计划的配置。 本文可作为oracle...

    简单的远程FTP定时备份Shell脚本分享

    现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定. 代码如下:wget ftp://user_name:password@ip_address:port/dir/file_name 2....

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

    ftp命令把远程计算机上的文件传输到本地计算机时,需要和用户交互。怎样使交互过程自动化呢

    Linux下的自动化和批量管理教程集锦

    教程名称:Linux下的自动化和批量管理教程集锦课程目录:【】linux下kickstart自动化部署安装【】Linux运维趋势_第0期_运维自动化【】mysql自动化备份方案【】批量添加用户【】自动化运维管理【】超级RHEL5之...

    Linux下Shell从入门到精通完整版视频.zip

    14.Linux系统增量备份脚本.mp4 15.自动收集服务器硬件系统信息脚本.mp4 16.Shell编程之磁盘监控报警脚本_0.mp4 17.Shell批量监控服务发送邮件报警.mp4 18.Shell编程之实战WEB界面展示一.mp4 19.Shell编程之实战WEB...

    常用shell 脚本,dos攻击防范,

    Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析脚本.sh shell.txt 一键查看服务器资源利用率.sh 一键部署LNMP...

    linux批量备份服务器配置文件和目录的脚本

    只在备份机执行,远程的服务器只需要允许备份机用root通过密钥登录;2. 在备份机上配置需要备份哪些服务器,在NEED_BACKUP_SERVERS这个数组增减;3. 在备份机上配置需要备份服务器上哪些文件,在NEED_BACKUP_DETAIL...

    分别用shell、dos、perl实现对SVN版本库的增量备份

    本脚本实现了对版本库进行增量备份,并且将备份导入到其它主机版本库,以备版本库宕机时开发人员可以马上切换服务器,脚本里的免密码LINUX之间拷贝及远程执行脚本请自己百度解决。 1、 全量备份 #!/bin/sh #全量备份...

    linux实现自动部署tomcat脚本

    由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务、备份war包、上传新的war包、启动服务。索性就写了一个自动部署的脚本。 脚本如下autoDeploy.sh: #! /bin/sh echo '####################开始自动...

    oracle备份shell

    数据库在linux服务器远程备份文档,执行脚本数据库在linux服务器远程备份文档,执行脚本

    linux下自动备份MySQL数据并上传到FTP上的shell脚本

    代码如下: #!/bin/bash #Mysql autobackup shell # # #—————-set the mysql login parameters dbuser=root dbpasswd= dbserver=localhost dbname=fwserver2008 dbopt=–opt backupdir=/dbbackup/ #—————–...

    backup-remote-server-to-synology:Synology NAS 远程服务器备份脚本

    一种推送备份方案,可为您的远程服务器创建快照“rsync”备份并将其存储在您的 Synology NAS 或其他基于 Linux 的服务器上。 备份完成后,会创建其他滚动硬链接快照,生成月、周、日和每小时快照的周期。 该脚本将...

Global site tag (gtag.js) - Google Analytics