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

#!/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 "同步结束"

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

  1. 理解Linux系统/etc/init.d目录和/etc/rc.local脚本

    本文英语版本来自:http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/ 以下内容是作者自己的翻译版本,如 ...

  2. Linux下Dialog+Shell三层目录专业规范跳板机脚本

    #Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录  [ro ...

  3. linux之如何在任意目录执行我常用的脚本文件

    1.问题 比如我们在ubuntu上开发Android的时候,经常会用到jadx. pidcat.py ,但是我们希望在任何目录都能执行这些命令, 如果不知道pidcat.py是什么东西的,可以先百度 ...

  4. linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录

    在本文中,我们将解释如何通过SSH使用rsync复制文件.当涉及在网络上的系统之间传输文件时,Linux和Unix用户可以使用许多工具,最流行的数据传输协议是SSH和FTP,虽然FTP很受欢迎,但总是 ...

  5. 实现linux多台服务器间目录文件同步

    由于平台要上负载均衡,后面有4个emc节点,每次更新系统都比较麻烦,所以这里记录一下收集到的一个看着靠谱的同步方案 出处:Linux中文件实时同步 - 刘新元 - 博客园 注意:看着靠谱,暂时没有实验 ...

  6. centos卸载harbor_在Linux主机使用命令行批量删除harbor镜像

    在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合自 ...

  7. linux ubuntu多台主机使用ntp同步时间

    linux ubuntu多台主机使用ntp同步时间 1台主机同步网络时间,叫做server,其他主机同步server的时间,叫做client 步骤: 1.下载ntpdate 2.统一时区 tzsele ...

  8. linux系统下shell命令使用通配符批量创建文件或目录

    linux系统下shell命令使用通配符批量创建文件或目录 批量创建log文件 批量创建文件夹 批量删除目录 批量创建log文件 touch {1..5}.log 批量创建文件夹 mkdir dir_ ...

  9. linux下rsync+inotify实现服务器之间文件实时同步

    先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例 ...

最新文章

  1. 绝望!导师只给我一周时间.......
  2. 静态代码分析——字符串
  3. python在线培训-Python入门
  4. CloudStack管理员文档 - 虚拟机
  5. 【Android基础】Android Toast显示消息的几种方法
  6. 打包指令_Linux系统常用指令总结
  7. jzoj6311-Mobitel【dp,整除分块】
  8. dataframe for循环 筛选_Python循环12种超强写法,又快又省内存
  9. JS:ES6-2 const 关键字
  10. AspxGridView 主子表设置
  11. BZOJ 2039 人员雇佣 (最小割)
  12. json for-in 来循环对象的属性
  13. outlook与shairepoint2010 数据同步
  14. shell fork 阻塞进程_张三同学没答好「进程间通信」,被面试官挂了....
  15. 基于java的网络抓包方法
  16. Java 下载Excel打不开是什么鬼
  17. 计算机基础知识之工作总结,计算机教师工作总结(精选3篇)
  18. 【原创】《矩阵的史诗级玩法》连载十七:用矩阵研究二次贝塞尔曲线和抛物线的关系(上)
  19. 前端实现旗帜飘动效果系列 (Ⅳ):webgl实现
  20. Linux elf可执行文件加密

热门文章

  1. C/C++实现删除字符串的首尾空格
  2. 我看objective-C --不要把objC当做c/c++的超集
  3. 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...
  4. ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群
  5. Unichar, char, wchar_t
  6. leetcode1319. 连通网络的操作次数(并查集)
  7. leetcode130. 被围绕的区域(bfs)
  8. 如何创建一个自记录的Makefile
  9. 谁参加了JavaScript 2018状况调查?
  10. 《成为一名机器学习工程师》_成为机器学习的拉斐尔·纳达尔