]> git.rmz.io Git - dotfiles.git/blobdiff - bin/mcbak.cron
add tardis bin
[dotfiles.git] / bin / mcbak.cron
diff --git a/bin/mcbak.cron b/bin/mcbak.cron
new file mode 100755 (executable)
index 0000000..be3c78b
--- /dev/null
@@ -0,0 +1,38 @@
+#! /bin/bash
+
+BACKUP_DIR=/home/minecraft/minecraft/minecraft.backup
+
+#######
+
+DOW=`date +%u`
+H=`date +%H`
+M=`date +%M`
+if [[ $M < 30 ]]; then
+    M=00
+else
+    M=30
+fi
+
+## remove 
+YESTERDAY=`date -d "yesterday" +%Y.%m.%d`
+if [[ $M == 30 ]]; then
+#    echo "Removing ${YESTERDAY}_$H.$M"
+    rm -rf "$BACKUP_DIR/${YESTERDAY}_$H.$M"*
+else
+    if [[ $H != 00 && $H != 06 && $H != 12 && $H != 18 ]]; then
+#        echo "Removing ${YESTERDAY}_$H.$M"
+        rm -rf "$BACKUP_DIR/${YESTERDAY}_$H.$M"*
+    fi
+fi
+
+LAST_WEEK=`date -d "last week" +%Y.%m.%d`
+for hour in 06 12 18; do
+#    echo "Removing ${LAST_WEEK}_$hour.00"
+    rm -rf "$BACKUP_DIR/${LAST_WEEK}_$hour.00"*
+done
+
+LAST_MONTH=`date -d "4 weeks ago" +%Y.%m.%d`
+if [[ $DOW != 5 ]]; then
+#    echo "Removing ${LAST_MONTH}_00.00"
+    rm -rf "$BACKUP_DIR/${LAST_MONTH}_00.00"*
+fi