if [ `id -u` -ne 0 ]; then echo -e "This script must be run as root; try using sudo.\n" exit 1 fi service postgresql stop sleep 5 mv /mnt/vtdata/postgresdata/ / umount /mnt/vtdata echo -n "password" | cryptsetup luksFormat /dev/mapper/visiblethread-vtdata - echo -n "password" | sudo cryptsetup luksOpen /dev/mapper/visiblethread-vtdata encrypted-db -d - sudo mkfs.ext4 -j /dev/mapper/encrypted-db sudo mount /dev/mapper/encrypted-db /mnt/vtdata mv /postgresdata /mnt/vtdata/ chown -R postgres:postgres /mnt/vtdata/postgresdata/ # Move VisibleThreadTools folder to encrypted volume. It contains backups - these are confidential and potentially large. sudo mv /home/visiblethread/VisibleThreadTools/ /mnt/vtdata/ ln -s /mnt/vtdata/VisibleThreadTools/ /home/visiblethread/VisibleThreadTools # Setup auto-mounting & prompt for password when system boots sed -i 's/visiblethread-vtdata/encrypted-db/g' /etc/fstab sudo echo "encrypted-db /dev/mapper/visiblethread-vtdata none luks" | sudo tee -a /etc/crypttab # Restart PostgreSQL sudo service postgresql restart