I decided to write a script, and I will pretend that it took less time to write and run the script than doing it manually. It wasn't perfect - I had to copy/paste the password for each server because I didn't want to mess around with using keygen. I also didn't want to install software like expect. Expect is a software utility that allows you to write scripts that provide interactive programs with the parameters they might...well...expect. In this case it would have been handy to use since it could provide scp with the user's password. The script I wrote did what I needed it to, and I'm sure I'll be able to use something like this script in the future.
Assuming that the source file is on server01, and the source file to be updated and copied is named somefile.conf, then this is what the script looked like:
#!/bin/sh servers="server02 server03 server04 server05 server06 server07 server08 server09 server10 server11 server12 server13 server14 server15 server16 server17 server18 server19 server20 server21 server22 server23 server24" filepath="/some/file/path/somefile.conf" for server in $servers do echo "Working on $server." SEDARG="s/server01/$server/g" sed $SEDARG $filepath > $filepath.$server scp $filepath.$server someuser@$server:$filepath rm $filepath.$server done echo "Done."
No comments:
Post a Comment