add syncclouds.sh script

This commit is contained in:
Alexander Bocken 2024-01-01 16:22:03 +01:00
parent fb82ee6dbd
commit e2e1ff9536
Signed by: Alexander
GPG Key ID: 1D237BE83F9B05E8

52
.local/bin/syncclouds.sh Executable file
View File

@ -0,0 +1,52 @@
#!/bin/sh
# cronjob requires this
# shellcheck disable=SC1090
. ~/.zprofile
# sync moodle
echo "syncclouds.sh: moodle-dl"
{
# remove lock file if moodle-dl is not running
pgrep -x moodle-dl || [ -f ~/eth/.moodle/running.lock ] && rm ~/eth/.moodle/running.lock
cd ~/eth/.moodle && moodle-dl
} > /dev/null 2>&1 &
moodle_pid=$!
# sync nextcloud drive
echo "syncclouds.sh: nextcloudcmd"
{
nextcloudcmd -s -u "alexander@bocken.org" --password "$(pass server/seenas/nextcloud_admin_pass | head -n1)" ~/dox/nextcloud https://cloud.bocken.org
} > /dev/null 2>&1 &
nextcloud_pid=$!
# sync contacts to nextcloud
echo "syncclouds.sh: vdirsyncer"
{
vdirsyncer sync
} > /dev/null 2>&1 &
vdirsyncer_pid=$!
# sync calendar to nextcloud
echo "syncclouds.sh: calcurse-caldav"
{
# remove lock file if calcurse-caldav is not running
pgrep -x calcurse-caldav || [ -f ~/.local/share/calcurse/caldav/lock ] && rm ~/.local/share/calcurse/caldav/lock
calcurse-caldav
} > /dev/null 2>&1 &
calcurse_pid=$!
echo "calcurse_pid: $calcurse_pid"
# Wait for all processes to complete and print a message for each one
wait $vdirsyncer_pid
echo "syncclouds.sh: vdirsyncer done"
wait $nextcloud_pid
echo "syncclouds.sh: nextcloudcmd done"
wait $calcurse_pid
echo "syncclouds.sh: calcurse-caldav done"
wait $moodle_pid
echo "syncclouds.sh: moodle-dl done"
echo "syncclouds.sh done"