[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
conf_only=false
-if [[ $1 == -c ]]; then
- # mostly for testing
- conf_only=true
-fi
-
-target_host=frodo
-cat >/etc/btrbk.conf <<'EOF'
-ssh_identity /root/.ssh/id_rsa
-transaction_syslog daemon
-
-# so we only run one at a time
-lockfile /var/lock/btrbk.lock
+dry_run=false
+# mostly for testing
+case $1 in
+ -c) conf_only=true ;;
+ -n) dry_run=true ;;
+ ?*) echo "$0: error: unsupported arg"; exit 1 ;;
+esac
-# default format of short does not accomidate hourly preservation setting
-timestamp_format long-iso
# background on timezones. with short/long, timestamps use local time.
# for long, if your local time moves backwards, by moving timezones or
# for an hour when daylight savings changes it, you will temporarily get
# I don't see any problem with shifting when the day starts for
# retention, so I'm using long-iso.
+target_host=frodo
+cat >/etc/btrbk.conf <<'EOF'
+ssh_identity /root/.ssh/id_rsa
+transaction_syslog daemon
+
+# so we only run one at a time
+lockfile /var/lock/btrbk.lock
+
+# default format of short does not accomidate hourly preservation setting
+timestamp_format long-iso
+
# only make a snapshot if things have changed
snapshot_create onchange
# much less snapshots because I have less space on the
exit
fi
-btrbk -q run
+if $dry_run; then
+ btrbk -n run
+else
+ btrbk -q run
+fi
s chown ian:ian "${dirs[@]}"
if [[ $HOSTNAME == treetowl ]]; then
- tu /etc/fstab <<'EOF'
-/dev/disk/by-id/ata-TOSHIBA_MD04ACA500_84REK6NTFS9A-part1 /i btrfs noatime,subvol=i 0 0
+ # partitioned it with fai partitioner outside of fai,
+ # because it\'s worth it to have 1% space reserved for boot and
+ # swap partitions in case I ever want to boot off those drives.
+ # as root:
+ # . /a/bin/fai/fai-wrapper
+ # eval-fai-classfile /a/bin/fai/fai/config/class/51-multi-boot
+ # fai-setclass ROTATIONAL
+ # export LUKS_DIR=/q/root/luks/
+ # # because the partition nums existed already
+ # fai-setclass REPARTITION
+ # /a/bin/fai/fai/config/hooks/partition.DEFAULT
+
+ # just the first in the btrfs raid
+ dev=ata-TOSHIBA_MD04ACA500_84REK6NTFS9A-part1
+ tu /etc/fstab <<EOF
+/dev/mapper/crypt_dev_$dev /i btrfs noatime,subvol=i 0 0
EOF
else
tu /etc/fstab <<'EOF'
/q/i /i none bind 0 0
+EOF
+
+ tu /etc/crypttab <<EOF
+crypt_dev_$dev /dev/disk/by-id/$dev /q/root/luks/host-treetowl discard,luks
EOF
fi
/i/k /k none bind 0 0
EOF
+
+
if ! mountpoint /kr; then
s mkdir -p /kr
s chown ian:traci /kr
# short test daily 2-3am, extended tests Saturdays between 3-4am:
sched="-s (S/../.././02|L/../../6/03)"
s sed -i --follow-symlinks "s#^[[:space:]]*DEVICESCAN.*#\
-DEVICESCAN -a -o on -S on -n standby,q $sched\
+DEVICESCAN -a -o on -S on -n standby,q $sched \
-m ian@iankelling.org -M exec /usr/local/bin/smart-notify#" /etc/smartd.conf
# in the default configuration of at least ubuntu 14.04, resolvconf is
########### misc stuff
-s cedit /etc/goaccess.conf <<'EOF'
+s cedit /etc/goaccess.conf <<'EOF' || [[ $? == 1 ]]
# all things found from looking around the default config
# copied existing NCSA Combined Log Format with Virtual Host, plus %L
-log-format %^:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %L
+log-format %^:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %D
time-format %H:%M:%S
date-format %d/%b/%Y
log-file /var/log/apache2/access.log
color-scheme 2
+
+# tip: copy access.log files to a stretch host directory, then run
+# jessie's goaccess is too old for some options, and it's
+# not easily installed from a testing.
+# goaccess --ignore-crawlers -f <(cat *) -a -o html > x.html
EOF