From 6bb85fe184e609f21d1ca0832c711f4e7bceb4df Mon Sep 17 00:00:00 2001 From: Dominic Reich Date: Sun, 19 Feb 2023 00:58:45 +0100 Subject: [PATCH] adds staubsauger.sh --- git/staubsauger.sh | 126 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 git/staubsauger.sh diff --git a/git/staubsauger.sh b/git/staubsauger.sh new file mode 100644 index 0000000..fcf67fc --- /dev/null +++ b/git/staubsauger.sh @@ -0,0 +1,126 @@ +#!/bin/bash +# Author: Dominic Reich +# +# Sends an email every month on first saturday morning +# uses a cronjob that runs on every saturday +# this is on a Synology Diskstation: +# Control Panel → Task Scheduler → [Select Task] +# User: dominic +# Schedule: on following days "Saturday" +# Frequency: Every day +# Run time: 04:30 +# Task settings: Send run details by email +# (only when script terminates abnormally) +# +# This script was written way before I installed it on my Diskstation. +# It may run on my server again, when I finally migrate more stuff to it. + +date=$(date +%d.%m.%Y); +day=$(date +%-d); +month=$(date +%-m); +to_notification='User ' +to_report='Admin ' +from='Staubsauger-Erinnerung '; +subject=`printf "Staubsauger-Erinnerung vom %s" "$date"`; +subject_report=`printf "[Cron Report] $subject"`; +host=$(/bin/hostname); +headers=`printf "From: %s\r\nReply-To: %s\r\nContent-Type: text/html; charset=utf-8\r\n" "$from" "$to_report"`; + +# Some default values +send='no' +sendcc='no' +send_report_msg='nicht ' + +# Change settings here +sendcc='yes' + +if [[ $month == "1" || $month == "3" || $month == "5" || $month == "7" || $month == "9" || $month == "11" ]]; then + # in diesem Monat senden + if [ $day -gt "7" ]; then + # nicht senden, falls wir schon nach der ersten woche sind + # -> kein 1. Samstag nach 7 Tagen im Monat möglich + send='no'; + send_report_msg='nicht '; + else + # das ist wohl der erste Samstag im oben genannten Monat - los geht's + send='yes'; + send_report_msg=''; + body=' + + + + + + + +

Staubsaugerreinigung vom '`date +%d.%m.%Y`'

+
+

+ Guten Morgen!

+ Es ist wieder Zeit, den Staubsauger zu reinigen.
+

+ Mit freundlichen Gruessen,

+ Ihr freundlicher Erinnerungs-Service +

+
+
+

+ -- 
+ Automatisch generierte Email.
+ Bei Klick auf `Antworten` sollte bereits meine eigene Adresse eingefüllt werden. +

+
+ + + +'; + fi +else + # in diesem Monat nicht + send='no'; + send_report_msg='nicht '; +fi + +bodymg=' + + + + + + + +

Staubsaugerreinigung vom '`date +%d.%m.%Y`'

+
+

+ Die Erinnerung wurde heute '"$send_report_msg"'versendet. +

+
+
+

+ -- 
+ Test-Signatur. FFS <°)))>< +

+
+ + + +'; + +if [ $send == "yes" ]; then + # es wird eine benachrichtigung versendet + if [ $sendcc == "yes" ]; then + # auch an den admin/report + /usr/bin/php -r "mail('$to_notification, $to_report', '$subject', '$body', '$headers');"; + else + # nur an die notification mail adresse + /usr/bin/php -r "mail('$to_notification', '$subject', '$body', '$headers');"; + fi +fi + +# A report is always sent out. Keeping track if the script works is a good idea. +/usr/bin/php -r "mail('$to_report', '$subject_report', '$bodymg', '$headers');"; + +