Исправлена ошибка с непредумышленным установлением статуса retained для сообщений.
[weathermon.git] / init.d / weathermon
index 802529e5eac7c880abd2941fecd6c34ad71825a4..8553b6ac39c7919111a4a32ac1c4f101d9cd3757 100755 (executable)
@@ -18,14 +18,26 @@ start_service() {
 
        mkdir -p "$WORK_DIR"
 
-       if [ ! -z "$BACKLOGDB" ] && [ ! -f "$BACKLOGDB" ]; then
-               BACKLOG_BASE=$(basename "$BACKLOGDB")
-               cp "$BACKUP_DIR/$BACKLOG_BASE" "$BACKLOGDB"
+       if [ ! -z "$BACKLOGDB" ]; then
+
+               sqlite3 $BACKLOGDB "select * from queue limit 1" > /dev/null
+        
+               if [ "$?" != "0" ]; then
+                       BACKLOG_BASE=$(basename "$BACKLOGDB")
+                       cp "$BACKUP_DIR/$BACKLOG_BASE" "$BACKLOGDB"
+               fi
+                       
        fi
 
-       if [ ! -z "$LOGDB" ] && [ ! -f "$LOGDB" ]; then
-               LOG_BASE=$(basename "$LOGDB")
-               cp "$BACKUP_DIR/$LOG_BASE" "$LOGDB"
+       if [ ! -z "$LOGDB" ]; then
+       
+               sqlite3 $LOGDB "select * from log limit 1" > /dev/null
+        
+               if [ "$?" != "0" ]; then
+                       LOG_BASE=$(basename "$LOGDB")
+                       cp "$BACKUP_DIR/$LOG_BASE" "$LOGDB"
+               fi
+
        fi
 
         procd_open_instance
@@ -36,12 +48,5 @@ start_service() {
 }
 
 stop_service() {
-       killall weathermon
-       killall weathermon-iio
-       if [ ! -z "$BACKLOGDB" ] && [ -f "$BACKLOGDB" ]; then
-               cp "$BACKLOGDB" "$BACKUP_DIR"/
-       fi
-       if [ ! -z "$LOGDB" ] && [ -f "$BACKLOGDB" ]; then
-               cp "$LOGDB" "$BACKUP_DIR"/
-       fi
+       /usr/bin/weather-backup
 }