aboutsummaryrefslogtreecommitdiff
path: root/alpine.sh
diff options
context:
space:
mode:
Diffstat (limited to 'alpine.sh')
-rwxr-xr-xalpine.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/alpine.sh b/alpine.sh
new file mode 100755
index 0000000..11ab4b1
--- /dev/null
+++ b/alpine.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# this requires the gnu tools:
+# apk add coreutils tar
+IFS='
+'
+_paths='/etc
+/home
+/root
+/var/acme
+/var/service
+/var/sshkeys
+/var/spool/cron'
+
+_file_list="$(mktemp)"
+ref="$(mktemp)"
+trap 'rm "$list" "$ref"' EXIT INT
+touch -d '-24 hours' "$ref"
+trap 'rm -f "$_file_list"' EXIT INT
+
+if [ "$1" = daily ] ; then
+ find $_paths -newer "$ref" -print0 > "$_file_list"
+else
+ find $_paths -print0 > "$_file_list"
+fi
+
+tar --null -T "$_file_list" -cf - \
+ | zstd -3c