Index: scripts/globals.sh =================================================================== diff -u -r3e5d7dc83d85c4727634d366938b40d20cfebc4e -rff9504fe794d645f0fd214a4efc7feb374522401 --- scripts/globals.sh (.../globals.sh) (revision 3e5d7dc83d85c4727634d366938b40d20cfebc4e) +++ scripts/globals.sh (.../globals.sh) (revision ff9504fe794d645f0fd214a4efc7feb374522401) @@ -42,6 +42,12 @@ LOG_OUT_FILE="" LOG_ERR_FILE="" +LOG_BASE=$SDCARD_MNT +LOG_LOC_LOG=log +LOG_LOC_ERR=service +EXT_GZIP=gz +EXT_PEND=u + ERR_MISSING_FOLDER=101 ERR_MISSING_FILE=102 ERR_CONNECTION=103 @@ -53,6 +59,7 @@ ERR_SCP_FAIL=110 ERR_INVALID_IP=111 ERR_SD_CARD=112 +ERR_LOGBACKUP_PATH=113 SRC_FILE_SSHKEY="$HOME/.ssh/id_rsa" SRC_FILE_SSHKEY_PUB=$SRC_FILE_SSHKEY.pub @@ -108,7 +115,12 @@ SETUP_ENABLE_MANUFACTURING_MODE="ManufacturingMode" SETUP_ENABLE_UpdatingING_MODE="UpdatingMode" -APPLICATION_PARAMS="&" +# Log cli options +# x: enable long name (IMPORTANT: removed for the impact on Test Protocols, and timeline) +# y: enable upload +# z: enable compression +APPLICATION_PARAMS_DEFAULT="-yz" +APPLICATION_PARAMS="" CloudSync_DRT_SERVER_IP="" CloudSync_DRT_SERVER_PORT=80 @@ -508,11 +520,18 @@ # removing the previous treatment logs so the new buff starts with fresh sequence echo "Removing CloudSync I/O buff" local CLOUDSYNC_LOGS="$SDCARD_MNT/$CLOUDSYNC_FOLDER/" + local CLOUDSYNC_CONF="$CLOUDSYNC_PATH/cloudsync/config/" + local CLOUDSYNC_MODE="" + if [[ "$APPLICATION_PARAMS" == *"-E"* ]]; then + CLOUDSYNC_MODE="upgrade" + else + CLOUDSYNC_MODE="update" + fi rm $(find $CLOUDSYNC_LOGS -name "*[_inp,_out].buf" ) 1>> $POSTOUT 2>> $POSTERR - + rm $(find $CLOUDSYNC_CONF -name "config_*.json" ) 1>> $POSTOUT 2>> $POSTERR echo "Executing the CloudSync" cd $CLOUDSYNC_PATH - ./cs.py start debug & + ./cs.py start debug $CLOUDSYNC_MODE & CLOUDSYNC_STATUS="$(ps ax | grep -e cs.py -e cloud_sync.py | grep -v grep)" if [ -n "$CLOUDSYNC_STATUS" ]; then post_log_pass "$POSTMSG_CLOUDSYNC$POSTMSG_POSTFIX_PASSED" @@ -593,7 +612,7 @@ if [ $(isDemoMode) -eq $TRUE ]; then APPLICATION_PARAMS="$APPLICATION_PARAMS"" -q -D -A $D_CANBUS" fi - sudo -u $DENALI_USER $DENALI_HOME/$DENALI_BIN $APPLICATION_PARAMS 1>> /tmp/denali.out 2>> /tmp/denali.out & + sudo -u $DENALI_USER $DENALI_HOME/$DENALI_BIN $APPLICATION_PARAMS_DEFAULT $APPLICATION_PARAMS 1>> /tmp/denali.out 2>> /tmp/denali.out & else post_log_fail "Unknown Applicaion Version for $DENALI_HOME/$DENALI_BIN" fi @@ -611,6 +630,44 @@ fi } +function log_backup() { + if [[ "$1" == "" ]]; then + post_log "Log Backup failed: Missing log location" + return $ERR_LOGBACKUP_PATH; + fi + local LOG_PATH="$LOG_BASE"/"$1" + cd "$LOG_PATH" + for logname in $(find -type f ! -name "*.$EXT_PEND.*"); do + name=$(basename $logname) + base="${name%%.*}" + ext="${name##*.}" + exts="${name#*.}" + #DEBUG echo name: $base + #DEBUG echo ext : $ext + #DEBUG echo exts: $exts + if [[ "$ext" == "$EXT_GZIP" ]]; then + mv "$name" "$base.u.$exts" + else + echo gzip "$name" + echo mv "$name.$EXT_GZIP" "$base.$EXT_PEND.$exts.$EXT_GZIP" + fi + echo + done +} + +function log_backup_logApp() { + log_backup $LOG_LOC_LOG +} + +function log_backup_logErr() { + log_backup $LOG_LOC_ERR +} + +function backupApplicationLogs() { + log_backup_logApp + log_backup_logErr +} + function timerStart() { time_start=$(date +%s) } @@ -628,6 +685,7 @@ setupConsoleout disableRootSSH cleanupPOSTLogs + backupApplicationLogs checkDemoMode queryOSVersion setupCANBus $1 @@ -641,3 +699,4 @@ testTouchscreen testCloudSystem } +