first commit

This commit is contained in:
2023-08-26 16:14:53 -05:00
commit bf38f42229
109 changed files with 3882 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
30 9 * * * /root/scripts/ping-before-mounting-shares.sh
0 16 * * * /root/scripts/rsync-backup-fileserver.sh

View File

@@ -0,0 +1,5 @@
#!/bin/bash
until ping -c1 192.168.1.41 >/dev/null 2>&1; do :; done
sleep 45
mount -t nfs -o defaults,nolock,soft,vers=4.2 192.168.1.41:/mnt/data/fileserver /mnt/truenasfileserver -v

View File

@@ -0,0 +1,24 @@
#!/bin/bash
if ping -c 1 192.168.1.41 &> /dev/null
then
rsync -azvP -e "ssh -i ~/.ssh/truenas" --progress \
--include=/ \
--include=/home/*** \
--include=/etc \
--include=/etc/fstab \
--include=/etc/default/*** \
--include=/etc/dnsmasq.d/*** \
--include=/etc/forgejo/*** \
--include=/etc/nginx/*** \
--include=/etc/wireguard/*** \
--include=/srv/*** \
--include=/var \
--include=/var/lib \
--include=/var/lib/forgejo/*** \
--exclude=* \
/ akanealw@192.168.1.41:/mnt/data/backups/fileserverbackup/$(/bin/date +%Y-%m-%d-%I-%M-%S-%p)
curl -fsS -m 10 --retry 5 -o /dev/null https://uptimekuma.akanealw.com/api/push/OtvHGEeMxL?status=up&msg=OK&ping=
else
echo "TrueNAS is offline" && curl -fsS -m 10 --retry 5 -o /dev/null https://uptimekuma.akanealw.com/api/push/OtvHGEeMxL?status=down&msg=OK&ping=
fi