Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1095726
  • 博文数量: 170
  • 博客积分: 1603
  • 博客等级: 上尉
  • 技术积分: 1897
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 15:54
文章分类

全部博文(170)

文章存档

2016年(27)

2015年(21)

2014年(27)

2013年(21)

2012年(7)

2011年(67)

我的朋友

分类: LINUX

2013-06-04 17:01:21

这贴看到的

点击(此处)折叠或打开

  1. 写了个备份mysql并scp远程备份的脚本,大致过程如下
  2. #!/bin/bash
  3. list="database1 database2 database3 ... database n"
  4. for database in $list
  5. do
  6.     mysql -u root -ppasswd $database > $database.sql
  7.     scp $database.sql 192.168.1.2:
  8. done
  9. 单独执行没有任何问题,放在crontab执行发现只有9个文件scp过去了,最后几个全都收到了ssh认证失败的错误,这个是怎么回事?
  10. ssh_exchange_identification: Connection closed by remote host^M
  11. lost connection

点击(此处)折叠或打开

  1. 回复 10# wenhq
  2. 没有,这次是手工执行的,./mysql_backup.sh &
  3. 上次这样执行就重现这个问题了,就是1L最后两行的那个错误,但是这次就没提示。
  4. 似乎crontab改成* * * * *也没问题,但是定时就出问题了……
  5. 如果正常断开了,在目标服务器的auth.log显示的是session closed by,而不是received disconnect from……
  6. 看来scp最好还是不要放到for循环中了,不知道为什么会出现ssh通道关不掉的问题,等整个后台程序退出的时候才把所有的通道都关闭……

看来脚本放在cron中会有可能出现特殊情况

难到crontab中的scp进程在crontab退出以后才退出,,写shell脚本的注意鸟。还好我习惯只scp一次


阅读(1091) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~