Chinaunix
标题:
用awk命令 把 scp aa@10.0.1.1:/home/aa/z.sh /home/bb 包含进来
[打印本页]
作者:
liyihongcug
时间:
2010-07-09 15:50
标题:
用awk命令 把 scp aa@10.0.1.1:/home/aa/z.sh /home/bb 包含进来
command linux执行过程 如下
【staAA】$ scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb
z.sh 100% 223 0.2kb/s 00:00
【staAA】$
我现在要用shell来判断scp是否成功
现在的想法是用awk命令 把上面的 scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb 包含进来
之后看他的执行结果的第2列 是否是100% , 如果是这个表示是成功的
这个如何做? (用其他命令也可以的 )
作者:
mgqw
时间:
2010-07-09 15:54
判断$?是否等于0应该可以
作者:
liyihongcug
时间:
2010-07-09 15:58
本帖最后由 liyihongcug 于 2010-07-09 16:00 编辑
---判断$?是否等于0应该可以
1 $?是什么意思
2 可以和结合scp 把脚本写出??
作者:
wild_li
时间:
2010-07-09 16:00
这个确实可以....角本正常执行,返回应该就是0
作者:
liyihongcug
时间:
2010-07-09 16:52
本帖最后由 liyihongcug 于 2010-07-09 17:04 编辑
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb 的反馈结果为
z.sh 100% 223 0.2kb/s 00:00
现在我想得到第2个100%
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb | cut f2------------错误 如何改写
发现是空,
这个原因在于 scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb >aa.log 会发现aa.log 也是空的
想知道 用awk是否能得到这个命令的z.sh 100% 223 0.2kb/s 00:00 的返回值
这个命令如何改写 才能 得到第2个100%
作者:
Shell_HAT
时间:
2010-07-09 17:02
回复
5#
liyihongcug
scp aa@10.0.1.1:/home/aa/z.sh /home/bb | awk '{print $2}'
复制代码
作者:
liyihongcug
时间:
2010-07-09 17:06
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb | awk '{print $2}' 发现是空的
楼上请注意 我执行这个
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb >aa.log 会发现aa.log 也是空的
现在不知道如何解决这个问题
作者:
howge
时间:
2010-07-09 18:13
回复
7#
liyihongcug
哈~~ 以前遇见过,scp好像不能把log重定向到文件里面
作者:
liyihongcug
时间:
2010-07-09 18:16
那楼上如何做的 啦 , 很想解决这个问题的
作者:
Shell_HAT
时间:
2010-07-09 20:52
回复
7#
liyihongcug
scp aa@10.0.1.1:/home/aa/z.sh /home/bb &>aa.log
复制代码
这样可以吗?
作者:
wild_li
时间:
2010-07-09 22:53
本帖最后由 wild_li 于 2010-07-09 22:56 编辑
网中人好像有文章说,,tee 不知道行不行.
作者:
liyihongcug
时间:
2010-07-10 11:40
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb &>aa.log
发现还是失败的 ??? 头疼
作者:
bbgg1983
时间:
2010-07-10 12:02
楼主,遇到问题在本版搜索一下,论坛里每天的问题80%都是以前有过的,你参考一下这个帖子
http://bbs.chinaunix.net/thread-798381-1-1.html
作者:
whoiswhoz
时间:
2010-07-12 10:40
回复
12#
liyihongcug
试试:
把scp写到a.sh里
然后 ./a.ah >log
作者:
liyihongcug
时间:
2010-07-21 17:24
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb
提示输入密码
根本没有到 $?这个地方去
不到$? 如何发邮件来判断啦??
作者:
liyihongcug
时间:
2010-07-21 17:27
上面很多人的建议都是基于
scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb 操作已经完成
但实际上。 这个脚本呢执行scp
aa@10.0.1.1
:/home/aa/z.sh /home/bb提示输入密码
根本没有结束。 不知道哦该如何才能当操作中断的时候发邮件
c语言的多线程可以做, shell支持吗?
作者:
Puer_Tea
时间:
2010-07-21 17:53
需要两边 md5一下,然后比较吧, 如果一致则完成?
用rsync 比较省事吧。
作者:
liyihongcug
时间:
2010-07-22 10:24
本帖最后由 liyihongcug 于 2010-07-22 10:31 编辑
1 rsync 可以把完整命令 写下》》》
看了半天,不知道如何来测试2台机器之间是否连通???
2 “需要两边 md5一下,” 这个如何做
作者:
liyihongcug
时间:
2010-07-22 11:12
本帖最后由 liyihongcug 于 2010-07-22 11:20 编辑
使用发现错误如下:;
[l@对比~]$ rsync -vazu -progress
lh@192.168.10.1
:/home/lh/aa.log /home/lh/test/
rsync: Failed to exec ss: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(83) [receiver=2.6.8]
rsync: writefd_unbuffered failed to write 4 bytes [receiver]: Broken pipe (32)
rsync error: error in IPC code (code 14) at io.c(1119) [receiver=2.6.8]
---rpm -qa | grep rsync--------------发现2个机器都安装了 rsync-2.6.8-3.1
rsync-2.6.8-3.1
问如何使用rsync 这个命令
查询 chkconfig --list | grep rsync-----发现off server 表示没有启动
现在想办法把他启动
/etc/init.d没有rsync这个服务
但/usr/bin 有
参考环境:
A linux rhel4 192.168.10.189
B linux rhel4 192.168.10.4
(注:A作为服务端,B作为客户端将,将A上的/home/byheart目录下的所有文件同步到B上)
目的:
练习rsync部署,将来服务部署时程序更新多点同步;
操作步骤:
1、检查是否安装了rsync服务
[byheart@test ~]$ rpm -q rsync
rsync-2.6.3-1
表明已经安装了此包;
如果未安装可以到安装盘或者iso文件中找到相应的rpm包安装,也可源码安装;
2、server端需要在/etc目录下添加rsyncd.conf
[byheart@test ~]$ vi /etc/rsyncd.conf
uid = nobody
gid = nobody
max connections = 200
timeout = 600
use chroot = no
read only = yes
pid file=/var/run/rsyncd.pid
host_allow =192.168.10.4
#syslog facility = local7
log file=/var/log/rsyncd.log
#rsync config
#The 'standard' things
[rsync_byheart]
path = /home/byheart/ #要同步的目录
comment = backup
注:以上内容可以通过man rsyncd.conf获得,帮助中详细说明了个参数的意义;
3、rsync服务器启动的方式
/usr/bin/rsync --daemon
rsync服务使用的端口是873,可以通过netstat -n |grep 873来看一下服务是否已经启动
[root@localhost ~]# netstat -an |grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN
说明服务已经启动;
4、客户端配置
客户端只需要安装rsync的包即可,不用配置文件,下面就可以同步操作了,在B上执行rsync命令如下:
rsync -auqz 192.168.10.189::rsync_byheart /tmp/old
作者:
yuloveban
时间:
2010-07-22 11:43
echo $?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2