linux文件分发脚本
1.说明
此脚本可分发两类文件,1.固定内容文件,2.(每台被分发主机)内容不同的文件
ppp.sh为拨号脚本,每台被分发主机内容不同
根据分发文件名字不同(ppp.sh和其他文件)自动选择分发方式
2.脚本
#!/bin/sh files=$
ip=$
port=$ [ -z "$files" ]&&{
echo ''
exit
} [ -z "$ip" ]&&{
echo ''
exit
} [ -z "$port" ]&&{
echo ''
exit
} path= if [ "$files" = "ppp.sh" ];then
dir=`cat /proc/sys/kernel/random/uuid`
rm -rf /tmp/.$dir
mkdir /tmp/.$dir cp ppp0.txt /tmp/.$dir/ppp.sh
echo "ip2='"$ip"'" >> /tmp/.$dir/ppp.sh
echo "sshport='"$port"'" >> /tmp/.$dir/ppp.sh
cat ppp1.txt >> /tmp/.$dir/ppp.sh ssh -o ConnectTimeout= -p $port root@${ip} date > /dev/null
if [ $? -eq ];then
scp -P $port /tmp/.$dir/ppp.sh root@${ip}:/root
if [ $? -ne ];then
echo ''
rm -rf /tmp/.$dir
exit
fi ssh -o ConnectTimeout= -p $port root@${ip} 'chmod 700 ppp.sh'
if [ $? -eq ];then
echo ''
rm -rf /tmp/.$dir
exit
else
echo ''
rm -rf /tmp/.$dir
exit
fi
else
echo ''
rm -rf /tmp/.$dir
exit
fi
else [ -f "$files" ]||{
echo ''
exit
} ssh -o ConnectTimeout= -p $port root@${ip} date > /dev/null
if [ $? -eq ];then
scp -P $port $files root@${ip}:/root
if [ $? -ne ];then
echo ''
exit
fi temp=`ssh -o ConnectTimeout= -p $port root@${ip} "sh $files"`
if [ $? -eq ];then
echo ''
exit
else
echo ''
exit
fi else
echo ''
exit
fi fi
[root@zxserver05 sync_script]# ./sync_script.sh ppp.sh wzdx1.leyuyun.com
ppp.sh % .8KB/s :
--执行成功
--文件未指定
--ip未指定
--port未指定
--ssh连接失败
--文件远程至讯失败
--指定文件不存在
--文件上传失败
注:分发"其他"类型的文件,最好指定决定路径。
linux文件分发脚本的更多相关文章
- 【转】嵌入式Linux文件系统启动脚本及分析
原文网址:http://www.linuxidc.com/Linux/2011-03/33728.htm 在内核初始化完成后,嵌入式linux 文件系统的启动过程主要包含以下几个步骤: 1. 执行/s ...
- Linux文件拷贝脚本
在工作中,我们经常遇到要从Linux服务器拷贝日志至本地或者定期清理日志的需求,在服务器上,大型系统的日志是按模块存储的,这就导致日志的文件目录较多且层级不统一.我们从众多的目录手工筛选要下载或者删除 ...
- linux文件归档脚本
#!/bin/bash range= dir="/app/xx/logs" bak_dir="/app/xx/logs_archive" cd $dir $ra ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
- Linux centosVMware运行告警系统、分发系统-expect讲解、自动远程登录后,执行命令并退出、expect脚本传递参数、expect脚本同步文件、指定host和要同步的文件、shell项目-分发系统-构建文件分发系统、分发系统-命令批量执行
一运行告警系统 创建一个任务计划crontab -e 每一分钟都执行一次 调试时把主脚本里边log先注释掉 再次执行 没有发现502文件说明执行成功了,每日有错误,本机IP 负载不高 二.分发系统-e ...
- linux下shell脚本执行jar文件
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...
- JMeter学习-027-JMeter参数文件(脚本分发)路径问题:jmeter.threads.JMeterThread: Test failed! java.lang.IllegalArgumentException: File distributed.csv must exist and be readable解决方法
前些天,在进行分布式参数化测试的时候,出现了如题所示的错误报错信息.此文,针对此做一个简略的重现及分析说明. JMX脚本线程组参数配置如下所示: 参数文件路径配置如下所示: 执行JMX脚本后,服务器对 ...
- linux执行sh脚本文件命令
linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本 ...
- linux文件系统启动流程、启动脚本
linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...
随机推荐
- 2015暑假多校联合---CRB and His Birthday(01背包)
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5410 Problem Description Today is CRB's birthda ...
- this指针
this Note:不论是类中的构造函数,还是类中的普通成员函数,内部都隐含一个形参叫this指针,用于接收当前正在构造/调用对象的地址,因此不同的对象被构造/调用时,同一个函数的执行结果不同;对于一 ...
- 抽取的BaseFragment和LoadingPage
[BaseFragment]: public abstract class BaseFragment extends Fragment { /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ...
- 使用Struts2标签遍历集合
遍历Map<String,Object> 遍历Map<Stirng,List<Student>> 遍历List<Map<String,Student&g ...
- Spring Mvc 的自定义拦截器
spring mvc的拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户 ...
- [Android] 建立与使用Library
[Android] 建立与使用Library 前言 使用Eclipse开发Android项目时,开发人员可以将可重用的程序代码,封装为Library来提供其他开发人员使用.本篇文章介绍如何将可重用的程 ...
- Converse.js – 开源的 XMPP 聊天客户端
Converse.js 是一个运行在浏览器的免费和开源的聊天客户端.它可以集成到任何网页.类似于 Facebook 的聊天,它也支持多用户聊天室.Converse.js 可以连接到任何可访问的 XMP ...
- 在你设计中可能用到的20个杂志 PSD 原型
你是否正在为您的印刷产品找一些现成的原型素材?在这里,我们收集了一组免费的杂志 PSD 素材,必将派上用场.这些原型将给你和你的客户一个先睹为快的产品,在现实生活中看起来如何.所有这些原型提供了可以免 ...
- 调用没有在AndroidManifest.xml注册过的Activity,报出的错误提示
- easyui日期在未加载easyui-lang-zh_CN.js出现英文的情况下加载中文的方法
我们有时候在操作easyui的时候本来是加载了easyui-lang-zh_CN.js中文文件包,但是还是出现了英文.使得我们不得埋怨这框架咋这么不好用,其实我们仔细看看这个中文包就会发现里面很多都是 ...