linux 批量同步,多主机目录到备份服务器批量同步脚本

为了方便同步多个主机的目录到备份服务器,写了如下脚本:

#!/usr/bin/perl

use strict;

use File::Spec;

use File::Basename;

use File::Path;

#设定存储路径

my $storedir="/backup/";

while(){

chomp;

my ($host,$s_path)=split /\t/;

my $project_name=fileparse($s_path);

my $d_path=File::Spec->catfile($storedir,$host,$project_name);

$s_path=$s_path."/";

$d_path=$d_path."/";

mkpath $d_path,1,0755 unless -d $d_path;

my $cmdline="rsync -av --delete --rsh=\"ssh\" root\@$host\:".$s_path." ".$d_path;

print "备份主机:$host   备份目录:$s_path\n";

system ($cmdline);

}

__DATA__

host1   /home/www

host2   /home/bbs

脚本的功能非常简单,即生成简单的命令行,由system命令调用一个shell来执行这个命令来完成备份。

脚本中的__DATA__下定义了需要备份的主机和目录(以TAB分隔开),生成的备份保存在$storedir="/backup/"定义的目录中,该目录下建立以主机名命令的目录,每个主机名目录中为每个一项目名。

脚本需要完善的地方有:

1、没有生成日志;

2、没有保存多份不同时间的备份。

另外要记得备份一下自己的主目录,只要运行一条命令就行,不然有一天电脑出问题,后悔莫及,里有一句说的非常好:唯一比灾难性的磁盘故障、失控的远程主机和险恶的安全性事件更糟糕的事,是发现这些事情本来可以避免时的那种痛彻心扉的感觉。

我的方法是写一个脚本,命名为:rootbackup.sh放入/root/bin下,下班时只要运行:

[root@supersun.biz ~]#rootbackup.sh

就可将/root目录同步到我的移动硬盘中。脚本内容:

#!/bin/sh

echo "开始对/root目录进行备份........"

echo "挂载移动硬盘:"

echo "mount /dev/sda4 /mnt"

mount /dev/sda4 /mnt

echo "进行同步"

rsync -av --delete /root /mnt/sun

echo "同步结束"0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交流电的有效值rms值_交流电路的功率三角因数原来是这样理解的

点击“电工电气学习”关注即可免费订阅!电工学习网:www.diangon.com关注电工学习网官方微信公众号“电工电气学习”,收获更多经验知识。交流电路中消耗的电能可以用直角三角形的三个边来表示,通常称为功率三角形我们在关于交流电路…

CSS3酷炫样式集合

1、30种炫酷CSS鼠标滑过按钮特效 2、CSS 变量实现炫酷鼠标悬浮效果 3、基于CSS3和jQuery实现跟随鼠标方位的Hover特效 4、css3金属质感登录表单 4、CSS3动态下拉菜单 5、CSS3鼠标悬浮特效 转载于:https://www.cnblogs.com/mankii/p/9922981.html

微信小程序工具篇

“工欲善其事必先利其器”,在开始新内容的学习之前,往往会对用哪个IDE开发而苦恼。因为自身硬件条件的限制(公司给配的商务笔记本,真心的是中看不中用。也就是便携这么个有点了)。所以在选择IDE方面,个人比…

NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)

题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。 小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每个格子上堆了一些…

及时沟通的重要性_沟通与代码同样重要

及时沟通的重要性by Andrea Goulet通过安德烈古莱特(Andrea Goulet) 沟通与代码同样重要 (Communication Is Just As Important As Code) This past weekend, I had the pleasure of being the closing keynote at Ruby Nation. I expanded on one of the core values at Corg…

linux telnet smtp,如何使用Telnet测试IMAP与SMTP

1 前言笔者有时候调试邮件服务器需要使用Telnet直接去操纵IMAP与SMTP的服务,所以整理此文。2 最佳实践2.1 IMAP服务2.1.1 使用Telnet链接IMAP服务telnet imap.cmdschool.org 143信息显示如下,Trying 113.96.209.109...Connected to imap.cmdschool.org.E…

圆柱体积怎么算立方公式_圆柱体积公式怎么算

圆柱的体积计算公式同仁实验学校各年级组备课教师教案教案设计 课题 教学内容年级 六年级 科目 圆柱体积的计算公式数学教案类型新授P25 页例 5 及补充例题,完成“做一做”及练习五第 1~3 题。授课人1、通过用切割拼合的方法借助长方体的体积公式推导出圆柱的体积公…

Python学习笔记7:函数对象及函数对象作參数

一、lambda函数比如:fun1 lambda x,y: x y print fun1(3,4)输出:7lambda生成一个函数对象。该函数參数为x,y,返回值为xy。函数对象赋给func。func的调用与正常函数无异。上面的代码等价于:def fun2(x, y):return x y二、函数作…

github 建立_建立在线社区:GitHub教师

github 建立by Gitter通过吉特 建立在线社区:GitHub教师 (Building Online Communities: GitHub Teacher) We talked to the GitHub Training team about the free GitHub courses they offer to both developers and non-developers, as well as about the commun…

广数25i系统倒刀回刀m代码_广州数控系统GSK25i参数.pdf

GSK25i 铣床加工中心数控系统 使用手册(第 3 分册: 参数篇)在本使用手册中,我们将尽力叙述各种与该系统操作相关的事项。限于篇幅限制及产品具体使用等原因,不可能对系统中所有不必做和/或不能做的操作进行详细的叙述。因此,本使用手册中没有…

linux离线安装rjava,无法在ubuntu系统上安装rJava

我已经看过一些与此相关的帖子…但是所有建议的解决方案看起来似乎不工作….我在EC2实例中运行R,并运行以下命令来尝试安装rJava但无效…任何帮助将不胜感激。> install.packages("rJava")Installing package(s) into ‘/home/ubuntu/R/library’(as ‘…

HBase基础知识(三):HBase架构进阶、读写流程、MemStoreFlush、StoreFile Compaction、Region Split

1. 架构原理 1)StoreFile 保存实际数据的物理文件,StoreFile以HFile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个StoreFile中都是有序的。 2)MemStore 写缓存,由于…

CentOS6.7-64bit编译hadoop2.6.4

1.下载maven(apache-maven-3.3.3-bin.tar.gz) http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz 2.安装maven tar -zxvf apache-maven-3.3.3-bin.tar.gz -C /usr/local 3.添加环境变量 vim /etc/profileexpo…

第一章节测试

大家在做第一章测试题时,需要复习如下相关知识点:编译型VS解释型、变量名规范、数据类型、程序交互、格式化输出、运算符、流程控制。1.简述编译型与解释型语言的区别,且分别列出你知道的那些语言属于编译型,哪些属于解释型。2.执…

VS2015升级Update2之后Cordova程序提示:此应用程序无法在此电脑上运行

VS2015在升级到Update2之后,有可能出现如下异常,在运行Cordova项目时提示: 查看输出面板会有乱码错误信息: 出现此问题的原因是在于npm程序损坏了。vs调用的npm程序并不是在node安装目录下的npm,而是在: C:…

gitter 卸载_最佳Gitter渠道:学习编码

gitter 卸载by Gitter通过吉特 最佳Gitter渠道:学习编码 (Best Gitter channels for: Learning to Code) If you’re learning to code in 2016, you’re in luck — thanks to a huge range of helpful websites, MOOCs, books, and learners’ communities, you’…

双鉴探测器是哪两种探测方式结合_老师傅带你看懂火灾探测器的种类和基本原理,看完涨知识了...

为什么极早期的火灾探测十分关键?火灾的产生我们生活的环境中充满着大量的可燃物质,空气中的氧气含量通常也足够满足燃烧条件。但是还有另外一个形成火灾的条件就是:点火能量必须可以驱使氧化的过程开始。点火能量源可以是多种多样的&#xf…

JS入门熟知

JS是面向对象的语言 封装继承多态聚集(对象中具有引用其他对象的能力)JS使用中绝大多数情况不需要进行面向对象的设计,很多情况是使用已经设计好,准备好的对象,基于对象的语言. JS的使用(引入) jsp、html中直接在script标签中书写…

c语言专业实习报告,C语言个人实习报告(范文1)

《C语言个人实习报告.doc》由会员分享,可免费在线阅读全文,更多与《C语言个人实习报告》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、好的学习兴趣,独立的编程风格。(组C语言实训报告课题名称:通讯录管理系统…

分析不同类型页面渲染过程

现在让我们看看浏览器从网络上加载资源所耗费的时间(我们忽略从缓存以及从CDN等中间商网络上加载资源),我们首先要知道的是: 一个到无服务的网路往返 (传播延迟) 大约100ms服务器对于HTML文档的响应大约100ms,对于其他…