Various scripts and tools mainly for Debian servers.
Richard Cook at Velocity NY 2013
Select Expert install.
Tools related to archiving.
Tools related to image optimization.
Tools related to the terminal.
Tools related to email account management.
Tools related to server monitoring, alert and statistics emails.
Tools related to database management.
Tools related to Debian packages and general packaging.
Security and SSL certificate related tools.
Various small tools.
Docker containers.
Tools related to building webservers.
- Check shell scripts: http://www.shellcheck.net/
- Code styling: https://google.github.io/styleguide/shell.xml
- Bashism: https://wiki.ubuntu.com/DashAsBinSh
checkbashisms -f bash-script.sh
See https://github.com/szepeviktor/wordpress-speedtest/blob/master/README.md#how-to-choose-vps-provider
S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"
ssh-keygen -v -l -f "${S}/authorized_keys"
Parameters
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"debian\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAA...
u bash -c 'S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"'
U="$(stat -c %U .)";S="$(getent passwd $U|cut -d: -f6)/.ssh";mkdir -m 0700 "$S";editor "${S}/authorized_keys";chown -R $U:$U "$S"
ssh-keygen -y -f ~/.ssh/id_ecdsa
script --timing=NAME.time --append NAME.script
scriptreplay --maxdelay 1 NAME.time NAME.script
cat $SCRIPT|xz -9|base64 -w $((COLUMNS-1))
# alias: cat $SCRIPT | transit
cat $PASTED_FILE|base64 -d|xz -d > $SCRIPT
# alias: cat $PASTED_FILE | transit-receive
git init --separate-git-dir=/home/user/gitdir
Produces:
/home/user/work-dir/.git: gitdir: /home/user/git
/home/user/gitdir/config: worktree = /home/user/work-dir
echo "- - -" > /sys/class/scsi_host/host0/scan
UserId 999999
LicenseKey 000000000000
ProductIds 506 533
http://google-public-dns.appspot.com/cache
http://rawgit.com/ https://cdn.rawgit.com/USER/REPO/TAG/FILE
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| | .----------- day of month (1 - 31)
| | | .--------- month (1 - 12)
| | | | .------- day of week (0 - 6)
| | | | |
* * * * * USER COMMAND
crontab -e -u USER
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| | .----------- day of month (1 - 31)
| | | .--------- month (1 - 12)
| | | | .------- day of week (0 - 6)
| | | | |
* * * * * COMMAND