Штатный способ работы с таймаутами работает стабильнее традиционного с функцией откры...
[weathermon.git] / init.d / weathermon
index 802529e5eac7c880abd2941fecd6c34ad71825a4..bbf6f210bb607b32d2526622b217e8146f2698d4 100755 (executable)
@@ -18,14 +18,26 @@ start_service() {
 
        mkdir -p "$WORK_DIR"
 
 
        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
 
        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
        fi
 
         procd_open_instance
@@ -38,10 +50,5 @@ start_service() {
 stop_service() {
        killall weathermon
        killall weathermon-iio
 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
 }
 }