This shows you the differences between two versions of the page.
— | sdk:scripts:transfer [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SDK Script transfer.are ====== | ||
+ | <code c transfer.are> | ||
+ | /* DESC: This scripts stores the latest GNSS positions in a remote FTP file | ||
+ | * Copyright (C) 2014 NetModule AG, Switzerland | ||
+ | */ | ||
+ | |||
+ | SITE = " | ||
+ | USR = " | ||
+ | PWD = " | ||
+ | DATA = " | ||
+ | |||
+ | /* list a directory */ | ||
+ | files = nb_transfer_list(USR, | ||
+ | |||
+ | /* dump(files); | ||
+ | |||
+ | /* | ||
+ | * delete all files starting with DATA, filesize greater 1k and older than 10 minutes | ||
+ | */ | ||
+ | for (i = 0; i < length(files); | ||
+ | file = files[i]; | ||
+ | |||
+ | name = struct_get(file, | ||
+ | size = struct_get(file, | ||
+ | tm = struct_get(file, | ||
+ | |||
+ | if (left(name, strlen(DATA)) != DATA) continue; | ||
+ | |||
+ | if (size < 1024) continue; | ||
+ | |||
+ | now = localtime(time()); | ||
+ | age = mktime(now) - mktime(tm); | ||
+ | |||
+ | if (age <= (60 * 10)) continue; | ||
+ | |||
+ | nb_syslog(" | ||
+ | |||
+ | if (nb_transfer_delete(USR, | ||
+ | nb_syslog(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /* | ||
+ | * download data, modify and upload it | ||
+ | */ | ||
+ | |||
+ | if (nb_transfer_get(USR, | ||
+ | fp = fopen(DATA, " | ||
+ | if (fp) { | ||
+ | status = nb_status(" | ||
+ | lat = struct_get(status, | ||
+ | lon = struct_get(status, | ||
+ | now = localtime(time()); | ||
+ | timestamp = strftime(" | ||
+ | |||
+ | fwrite(fp, sprintf(" | ||
+ | fclose(fp); | ||
+ | |||
+ | nb_syslog(" | ||
+ | |||
+ | if (nb_transfer_put(USR, | ||
+ | nb_syslog(" | ||
+ | } else { | ||
+ | nb_syslog(" | ||
+ | } | ||
+ | |||
+ | unlink(DATA); | ||
+ | |||
+ | } else { | ||
+ | nb_syslog(" | ||
+ | } | ||
+ | } else { | ||
+ | nb_syslog(" | ||
+ | } | ||
+ | |||
+ | |||
+ | exit(0); | ||
+ | |||
+ | </ | ||