#!/bin/bash

data=$(date "+%Y-%m-%d %H:%M:%S")
ip='192.168.10.14'
password='fan'
gitBak='/var/opt/gitlab/backups/'
delFile=`ls -l -crt $gitBak/*.tar | awk '{print $9 }' | head -1`
count=`ls -l -crt $gitBak/*.tar | awk '{print $9 }' | wc -l` if [ $count -gt 4 ];then
rm $delFile
echo "$data -- delete $delFile" >> $gitBak/log.txt
fi
gitlab-rake gitlab:backup:create RAILS_ENV=production CRON=1
if [ $? -ne 0 ];then
echo "$data -- 脚本执行失败" > $gitBak/log.txt
fi
copyFile=`ls -l -crt $gitBak/*.tar | awk '{print $9 }' | tail -1`
/usr/bin/expect <<EOF
spawn scp -rp $copyFile root@$ip:/opt
expect {
"(yes/no)?" { send "yes\n"; expect "*assword:" { send "$password\n"}}
"*assword:" { send "$password\n" }
}
expect eof
EOF

shell拷贝文件到另一台机器的更多相关文章

  1. shell 脚本同时对远程多台机器执行命令

    脚本1:需要机器之间免密 ssh-copy-id [-i [identity_file]] [user@]machine #!/bin/bash # ------------------------- ...

  2. Jmeter 多台机器产生负载

    使用多台机器产生负载的操作步骤如下: (1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent .然后运行 ...

  3. Jmeter 多台机器产生负载及问题解决方法

    JMeter 使用多台机器产生负载的操作步骤如下: 关于linux环境运行jmeter,分布式测试 见 http://www.51testing.com/html/55/383255-847895.h ...

  4. 轻松解决U盘拷贝文件时提示文件过大问题

    现在的高科技时代生活中,u盘的使用已经是许多从事电脑it行业的人每天都必须要用到的用具.可以在一台电脑上使用u盘拷贝文件到另外一台电脑上进行使用,加上它的身材小巧,非常方便我们随身携带到任何地方进行使 ...

  5. Linux下 两台机器文件/文件夹 相互拷贝

    Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...

  6. [20171221]利用rman实现2台机器文件拷贝.txt

    [20171221]利用rman实现2台机器文件拷贝.txt --//昨天使用rman duplicate建立dg,我看到执行如下代码: RMAN> duplicate target datab ...

  7. 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

    两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...

  8. Linux通过Shell对文件自动进行远程拷贝备份

    在执行计划任务拷贝文件的时候,用scp命令需要输入密码,这里用公共密钥的方式实现密码的自动输入. 具体操作: 要求:把192.168.0.2机上的test.tar拷贝到192.168.0.3机器的上 ...

  9. linux中从一台机器复制文件或目录到另一台机器上linux机器上

    本机IP:x.x.x.1需要拷贝的机器IP:x.x.x.2用户名:ssh_user 目的:将本机中source_path路径下的文件或目录拷贝到另一台机器的destination_path/路径下 复 ...

随机推荐

  1. ts转js 并压缩

    1,在线编译,进入typescript官网http://www.typescriptlang.org/,点击里面的playground就可以直接写代码了. 2,在本地编译运行Typescript需要使 ...

  2. idea中创建的go项目,添加project sdk时没有go sdk选项的解决方式

    同样是后端开发,年薪50万和年薪20万的差距在哪里>>> 更新: 为了防止你被我这个流水账气到,先看这个结论吧:这个问题的结局方法:忽略,没有什么影响. -------------- ...

  3. MyBatis 源码篇-Transaction

    本章简单介绍一下 MyBatis 的事务模块,这块内容比较简单,主要为后面介绍 mybatis-spring-1.**.jar(MyBatis 与 Spring 集成)中的事务模块做准备. 类图结构 ...

  4. OkHttp3 + retrofit2 封装

    0.下载文件 1.gradle 添加 compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:co ...

  5. SpringBoot下实现MongoDB字段类型转换器

    1 目的 MongoDB Java String LocalDateTime 2 实现 先定义实体类 @Data // lombok @Accessors(chain = true) @Documen ...

  6. StoneTab标签页CAD插件 3.2.5

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  7. git提交项目到码云

    提交代码: git initgit remote add origin 远程仓库地址git pull --rebase origin mastergit add -Agit commit -m &qu ...

  8. WINAPI与CALLBACK

    #define WINAPI __stdcall #define CALLBACK __stdcall   都是__stdcall,无本质区别. CALLBACK只是为了告诉我们这是一个回调函数.

  9. IOS开发copy,nonatomic, retain,weak,strong用法

     readwrite 是可读可写特性;需要生成getter方法和setter方法时  readonly 是只读特性 只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变  ass ...

  10. 基于AccessToken方式实现API设计

    一.举例说明: 需求: A.B机构需要调用X服务器的接口,那么X服务器就需要提供开放的外网访问接口. 分析: 1.开放平台提供者X,为每一个合作机构提供对应的appid.app_secret. 2.a ...