chore(style): add shebang, set bash strict mode, create function
[webi-installers/.git] / vps-addswap / install.sh
1 #!/bin/bash
2 set -e
3 set -u
4
5 function __init_vps_addswap() {
6
7     default_size=2G
8     my_size=${1:-$default_size}
9
10     if [ "0" != "$EUID" ] && [ "0" != "$UID" ]; then
11         echo Usage:
12         echo '        sudo env PATH="$PATH" vps-addswap' $my_size
13         exit 1
14     fi
15
16     if [ -f "/var/swapfile" ]; then
17         swapoff /var/swapfile
18     fi
19
20     # Allocate a swapfile
21     fallocate -l "$my_size" /var/swapfile
22
23     # Only allow root to read it
24     # (this is not sufficient security for sensitive data)
25     chmod 0600 /var/swapfile
26
27     # Activate the swap
28     mkswap /var/swapfile
29     swapon /var/swapfile
30
31     # Cause swap to be activated on boot
32     echo '/var/swapfile none swap sw 0 0' | tee -a /etc/fstab
33 }
34
35 __init_vps_addswap "$@"