解决方法
你可以使用ssh.例如:
for server in server1 server2 server3; do ssh $server mv oldfilename newfilename; done
您可能希望拥有存储在环境变量中的服务器列表:
export MYLISTOFSERVERS="server1 server2 server3 ... servern "
和bashrc(或专用脚本)中的函数(例如):
runforeachserver () { for server in $MYLISTOFSERVERS; do ssh $server "$@" done }
因此,只要您想为每台服务器执行任务,就可以调用它.例如,根据需要重命名文件:
runforeachserver mv oldfilename newfilename
或者(只是为了向您展示如何通过ssh传递命令):
runforeachserver date -d \"month ago\" +\"%Y-%m-%d\" 2011-04-04 2011-04-04 2011-04-04 2011-04-04 2011-04-04 2011-04-04
显然,这可以像你希望的那样健壮(启用servername / sshport的数组),语法检查等等……