bitsCN.com
如何远程清理Production上48组MySQL DB Server上面的过期失效的备份
如何远程清理48组MySQL DB Server上面的过期实效的备份! 刚开始想到一个个从control控制机器ssh进去,rm 掉,然后exit,再通过control机器ssh进去,再rm再exit,这样的话岂不是要操作48次ssh以及exit,48台还能接受,如果是480台,4800台呢,any way ?
OK,我想到了,写一个shell脚本,在control机器上面远程执行ssh命令,不需要ssh进具体的单台db了,如下clean.sh
[html]
ssh aaaaaaaaa048xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa047xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa046xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa045xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa044xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa043xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa042xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa041xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa040xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa039xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa038xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa037xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa036xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa035xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa034xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa033xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa032xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa031xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa030xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa029xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa028xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa027xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa026xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa025xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa024xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa023xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa022xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa021xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa020xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa019xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa018xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa017xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa016xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa015xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa014xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa013xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa012xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa011xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa010xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa009xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa008xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa007xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa006xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa005xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa004xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa003xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa002xxxxxx "sudo -u mysql du -sh /mysqlback/*";
ssh aaaaaaaaa001xxxxxx "sudo -u mysql du -sh /mysqlback/*";
PS:
1 ssh aaaaaaaaa001xxxxxx "sudo -u mysql du -sh /mysqlback/*";这个指示最后check检查备份有没有被删除的脚本你可以将du -sh /mysqlback/*";换成rm -rf就变成了自己要清理文件的功能了。
2 我这里ssh是不带密码的,如果你的ssh还要带输入密码验证的话,请试下:ssh pass -p 'password' sshroot@xx.com "command"命令
run 这个clean脚本, 我这里ssh 进aaaaaaaaa001xxxxxx 是不需要密码的,而且因为进去db server还需要切换到mysql帐号,否则不能rm操作mysql用户组的文件。远程命令里面用了sudo -u mysql前缀。
bitsCN.com