Created
January 12, 2017 16:39
-
-
Save rpetrano/0f50cfc7f2e4155fa47263ff7eaf3a31 to your computer and use it in GitHub Desktop.
Bootstrap multiple servers at once!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
One server: | |
cat bootstrap.tar.gz | ssh "$server" 'tar -xzf-' | |
Moar servers (from file `serveri`): | |
while IFS=$'\n' read -r server; do cat bootstrap.tar.gz | ssh "$server" 'tar -xzf-'; done < serveri |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
tmpdir=$(mktemp -d) | |
# vim | |
mkdir -p $tmpdir/.vim/{backup,swap,undo,view,colors} | |
cp /usr/share/vim/vim80/colors/zenburn.vim $tmpdir/.vim/colors/ | |
cp ~/.vimrc $tmpdir | |
# git | |
cp ~/.gitconfig $tmpdir | |
# tmux | |
sed -e '/set -g mouse on/ { | |
a\ | |
set -g mouse-resize-pane on\ | |
set -g mouse-select-pane on\ | |
set -g mouse-select-window on | |
c\ | |
set -g mode-mouse on | |
}' < ~/.tmux.conf > $tmpdir/.tmux.conf | |
# ssh | |
mkdir -p $tmpdir/.ssh/ | |
cp ~/.ssh/authorized_keys $tmpdir/.ssh/ | |
cat ~/.ssh/id_rsa.pub >> $tmpdir/.ssh/authorized_keys | |
# bash | |
cp ~/.bashrc $tmpdir | |
# bash completion | |
mkdir -p $tmpdir/.local/share/bash-completion/ | |
cp /usr/share/bash-completion/bash_completion $tmpdir/.bash_completion | |
cp -R /usr/share/bash-completion/completions $tmpdir/.local/share/bash-completion/ | |
cat >> $tmpdir/.bashrc <<-';)' | |
# Load Bash completions from user directory | |
source ~/.bash_completion 2>/dev/null | |
;) | |
# build | |
tar -caf bootstrap.tar.gz -C $tmpdir . | |
# clean-up | |
rm -R "$tmpdir" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment