
[Linux]远程SSH两级跳转用户sodu的问题--sudo:nottypresentandnoaskpassprogramspecified
业务场景描述:
我有100多组MysqLdb服务器,那么其中10台我需要建一个MysqL用户下的文件,如果按照正常流程来看,我需要在跳转控制机dbcrol上面ssh到MysqL服务器上面,但是sudo进去的可不是MysqL帐号,而是一个novaadmin帐号,我还需要执行sudosu-MySQL命令跳转进入MysqL用户模式下,才能执行mkdir-p/MysqLog/slow_log/a1.log。
1我需要先测试一个在跳转控制机器dbcrol上面能远程执行sshmkdir的命令。
[nova@dbcrolcacti]$sshdb02703 "sudosu-uMysqL'mkdir/MysqLlog/log/a1.log'"
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:3incorrectpasswordattempts
[nova@dbcrolcacti]$
失败了,看来此路不通啊。
2google,继续看看去掉‘’试试。
在一篇文章里面看到"sudosu-uMysqL'mkdir/MysqLlog/log/a1.log'"中不需要把里面的命令行用''括起来,去掉试试看。
[nova@dbcrolcacti]$sshdb02703 "sudosu-uMysqLmkdir/MysqLlog/log/a1.log"
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:nottypresentandnoaskpassprogramspecified
Sorry,tryagain.
sudo:3incorrectpasswordattempts
[nova@dbcrolcacti]$
失败了,看来此路also不通啊。
dnzg.cn
3继续google之,有人说要去掉su
换成"sudo-uMysqLmkdir/MysqLlog/log/a1.log"吧:
[nova@dbcrolcacti]$sshdb02703 "sudo-uMysqLmkdir/MysqLlog/log/a1.log"
[nova@dbcrolcacti]
OK,搞定了。
4 For循环,实现批量串行mkdir
[nova@dbcrolcacti]vimcreate_log1_20131101.sh
foriin`cat$1`;do
echo$i;
ssh$i"sudo-uMysqLmkdir/MysqLlog/log/a1.log";
echo"";
done;
5执行脚本
[nova@dbcrolcacti]shcreate_log1_20131101.shdb01list;
db00101
db00201
db00301
........
db12801
至此,所有128台db执行完毕。
本文来自系统大全为您提供如需转载请注明!推荐win10下载