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 "同步结束"
linux 批量同步,多主机目录到备份服务器批量同步脚本相关推荐
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
本文英语版本来自:http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/ 以下内容是作者自己的翻译版本,如 ...
- Linux下Dialog+Shell三层目录专业规范跳板机脚本
#Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录 [ro ...
- linux之如何在任意目录执行我常用的脚本文件
1.问题 比如我们在ubuntu上开发Android的时候,经常会用到jadx. pidcat.py ,但是我们希望在任何目录都能执行这些命令, 如果不知道pidcat.py是什么东西的,可以先百度 ...
- linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录
在本文中,我们将解释如何通过SSH使用rsync复制文件.当涉及在网络上的系统之间传输文件时,Linux和Unix用户可以使用许多工具,最流行的数据传输协议是SSH和FTP,虽然FTP很受欢迎,但总是 ...
- 实现linux多台服务器间目录文件同步
由于平台要上负载均衡,后面有4个emc节点,每次更新系统都比较麻烦,所以这里记录一下收集到的一个看着靠谱的同步方案 出处:Linux中文件实时同步 - 刘新元 - 博客园 注意:看着靠谱,暂时没有实验 ...
- centos卸载harbor_在Linux主机使用命令行批量删除harbor镜像
在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合自 ...
- linux ubuntu多台主机使用ntp同步时间
linux ubuntu多台主机使用ntp同步时间 1台主机同步网络时间,叫做server,其他主机同步server的时间,叫做client 步骤: 1.下载ntpdate 2.统一时区 tzsele ...
- linux系统下shell命令使用通配符批量创建文件或目录
linux系统下shell命令使用通配符批量创建文件或目录 批量创建log文件 批量创建文件夹 批量删除目录 批量创建log文件 touch {1..5}.log 批量创建文件夹 mkdir dir_ ...
- linux下rsync+inotify实现服务器之间文件实时同步
先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例 ...
最新文章
- 绝望!导师只给我一周时间.......
- 静态代码分析——字符串
- python在线培训-Python入门
- CloudStack管理员文档 - 虚拟机
- 【Android基础】Android Toast显示消息的几种方法
- 打包指令_Linux系统常用指令总结
- jzoj6311-Mobitel【dp,整除分块】
- dataframe for循环 筛选_Python循环12种超强写法,又快又省内存
- JS:ES6-2 const 关键字
- AspxGridView 主子表设置
- BZOJ 2039 人员雇佣 (最小割)
- json for-in 来循环对象的属性
- outlook与shairepoint2010 数据同步
- shell fork 阻塞进程_张三同学没答好「进程间通信」,被面试官挂了....
- 基于java的网络抓包方法
- Java 下载Excel打不开是什么鬼
- 计算机基础知识之工作总结,计算机教师工作总结(精选3篇)
- 【原创】《矩阵的史诗级玩法》连载十七:用矩阵研究二次贝塞尔曲线和抛物线的关系(上)
- 前端实现旗帜飘动效果系列 (Ⅳ):webgl实现
- Linux elf可执行文件加密
热门文章
- C/C++实现删除字符串的首尾空格
- 我看objective-C --不要把objC当做c/c++的超集
- 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...
- ZooKeeper1 利用虚拟机搭建自己的ZooKeeper集群
- Unichar, char, wchar_t
- leetcode1319. 连通网络的操作次数(并查集)
- leetcode130. 被围绕的区域(bfs)
- 如何创建一个自记录的Makefile
- 谁参加了JavaScript 2018状况调查?
- 《成为一名机器学习工程师》_成为机器学习的拉斐尔·纳达尔