这贴看到的
-
写了个备份mysql并scp远程备份的脚本,大致过程如下
-
#!/bin/bash
-
list="database1 database2 database3 ... database n"
-
for database in $list
-
do
-
mysql -u root -ppasswd $database > $database.sql
-
scp $database.sql 192.168.1.2:
-
done
-
-
单独执行没有任何问题,放在crontab执行发现只有9个文件scp过去了,最后几个全都收到了ssh认证失败的错误,这个是怎么回事?
-
ssh_exchange_identification: Connection closed by remote host^M
-
lost connection
-
回复 10# wenhq
-
-
-
没有,这次是手工执行的,./mysql_backup.sh &
-
上次这样执行就重现这个问题了,就是1L最后两行的那个错误,但是这次就没提示。
-
似乎crontab改成* * * * *也没问题,但是定时就出问题了……
-
如果正常断开了,在目标服务器的auth.log显示的是session closed by,而不是received disconnect from……
-
-
看来scp最好还是不要放到for循环中了,不知道为什么会出现ssh通道关不掉的问题,等整个后台程序退出的时候才把所有的通道都关闭……
看来脚本放在cron中会有可能出现特殊情况
难到crontab中的scp进程在crontab退出以后才退出,
,写shell脚本的注意鸟。还好我习惯只scp一次
阅读(1150) | 评论(0) | 转发(0) |