Всегда пытаемся создать таблицы при старте - поможет от пустого файла в бэкапе и...
[weathermon.git] / init.d / weathermon
index cb1822acb70932ed615cdf9075d01b0cb2d9638a..b57d620cd633a2b8436c698685d583a7db90473e 100755 (executable)
@@ -18,20 +18,32 @@ 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
         procd_set_param command "$PROG"
         procd_set_param nice "$NICEPRIO"
-        procd_set_param respawn ${respawn_threshold:-600} ${respawn_timeout:-5} ${respawn_retry:-5}
+        procd_set_param respawn
         procd_close_instance
 }