summaryrefslogtreecommitdiffstats
path: root/.scripts/offlineimap-daemonctl.sh
diff options
context:
space:
mode:
authorLuke <luke@lukesmith.xyz>2018-02-20 14:29:53 -0700
committerLuke <luke@lukesmith.xyz>2018-02-20 14:29:53 -0700
commit838eeec9acdc320bbab24b69db3041e436cdc996 (patch)
treee220c4843b25626a9733ee39cb45fcf1dadc1394 /.scripts/offlineimap-daemonctl.sh
parentf1366ff22b4f6f97b27edecda9ecf434c38ae426 (diff)
downloadeibhear-838eeec9acdc320bbab24b69db3041e436cdc996.tar.gz
eibhear-838eeec9acdc320bbab24b69db3041e436cdc996.tar.zst
eibhear-838eeec9acdc320bbab24b69db3041e436cdc996.zip
scripts folder moved to ~/.scripts
Diffstat (limited to '.scripts/offlineimap-daemonctl.sh')
-rwxr-xr-x.scripts/offlineimap-daemonctl.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/.scripts/offlineimap-daemonctl.sh b/.scripts/offlineimap-daemonctl.sh
new file mode 100755
index 0000000..18daf3d
--- /dev/null
+++ b/.scripts/offlineimap-daemonctl.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# this script runs offline imap as daemon (configured to check periodically)
+
+LOG=~/.offlineimap/sync.log
+PIDFILE=~/.offlineimap/pid
+
+# if not present on PATH, those vars must point to proper locations
+THIS_SCRIPT=offlineimap-daemonctl.sh
+PYTHON_DAEMON=offlineimap-daemon.py
+
+daemon(){
+ $PYTHON_DAEMON 2>&1 |
+ # add timestamps to logs
+ (while read line; do
+ echo `date` "$line" >> $LOG
+ done)
+}
+
+stop(){
+ kill -USR2 `cat $PIDFILE`
+}
+
+refresh(){
+ kill -USR1 `cat $PIDFILE`
+}
+
+case "$1" in
+ '--daemon' | '-d' )
+ nohup $THIS_SCRIPT < /dev/null > /dev/null 2>&1 &
+ ;;
+ '--kill' | '-k' )
+ stop
+ ;;
+ '--refresh' | '-r' )
+ refresh
+ ;;
+ * )
+ daemon
+ ;;
+esac \ No newline at end of file