steepleian / weewx-Weather34

Other
44 stars 9 forks source link

rsync not working #126

Closed chrisale closed 2 years ago

chrisale commented 2 years ago

After upgrading to weewx 4.7 and the latest weather34 I can't seem to get the live rsync to transfer up to my remote server.

The weather34 log entries report all services running, it is generating the periodic archivedata in the public_html folder and the w34realtime.txt file is being updated in /tmp/weather34/serverdata on the weewx server, and there is a entry every second in the weewx debug log stating: " weewx-pi weewx[3035] DEBUG user.weather34: do_file_transfer: Port = 27"

But items in the /tmp directory are not being synced to the server and I haven't been able to discover any other helpful log entries.

Thanks for any help here.

chrisale commented 2 years ago

To be clear, the weewx RSync processes are updating correctly.

balloonhotair commented 2 years ago

Nothing has changed in the rsync code for almost a year maybe longer, so if you rollback your weewx upgrade does rsync work again? Since my weewx is 3.9 I cannot test 4.7. With no additional info I would guess that weewx upgrade changed rsync or something changed in your env.

balloonhotair commented 2 years ago

Also every second do a rysnc is way too much.

chrisale commented 2 years ago

I'm only upgrading weewx from 4.5 to 4.7 so there shouldn't be any big changes there. The do file transfer message pops up every 1-2 seconds. What option might control that? I currently have cache set to TRUE and 900 for stale time.

I suspect it is my web host as the reason I did the upgrades was because they had reset something on their end that I had to remind them to reenable. I wonder if perhaps I have been blacklisted, but that wouldn't make sense since the other rsync processes are working.

I'll keep looking for log info and get back in touch with them to see if they're blocking.

balloonhotair commented 2 years ago

The rsync is driven by your archive record creation and how often you update realtime.txt and when you do charts.

chrisale commented 2 years ago

ok. archive records are set to standard 300s where is the realtime.txt update set?

weewx.conf settings I have: "[[Weather34Report]] skin = Weather34 HTML_ROOT = /var/www/html/weewx/weather34/ [[[Units]]] [[[[Groups]]]] group_altitude = meter group_degree_day = degree_C_day group_pressure = hPa group_rain = mm group_rainrate = mm_per_hour group_speed = meter_per_second group_speed2 = meter_per_second2 group_temperature = degree_C

[[w34Highcharts]] HTML_ROOT = /var/www/html/weewx/weather34/w34highcharts skin = w34Highcharts enable = true [[[CheetahGenerator]]] [[[[ToDate]]]] [[[[[YearJSON]]]]] stale_age = 600 [[[Units]]] [[[[StringFormats]]]] centibar = %.0f cm = %.2f cm_per_hour = %.2f degree_C = %.1f degree_F = %.1f degree_compass = %.0f foot = %.0f hPa = %.1f inHg = %.3f inch = %.2f inch_per_hour = %.2f km_per_hour = %.0f km_per_hour2 = %.1f knot = %.0f knot2 = %.1f mbar = %.1f meter = %.0f meter_per_second = %.1f meter_per_second2 = %.1f mile_per_hour = %.0f mile_per_hour2 = %.1f mm = %.1f mmHg = %.1f mm_per_hour = %.1f percent = %.0f uv_index = %.1f volt = %.1f watt_per_meter_squared = %.0f NONE = N/A [[[[Labels]]]] centibar = cb cm = cm cm_per_hour = cm/hr degree_C = ° C degree_F = ° F degree_compass = ° foot = feet hPa = hPa inHg = inHg inch = in inch_per_hour = in/hr km_per_hour = km/hr km_per_hour2 = km/hr knot = knots knot2 = knots mbar = mbar meter = meters meter_per_second = m/s meter_per_second2 = m/s mile_per_hour = mph mile_per_hour2 = mph mm = mm mmHg = mmHg mm_per_hour = mm/hr percent = % uv_index = Index volt = V watt_per_meter_squared = W/m² NONE = [[[Extras]]] numYears = 5 [[[[MinRange]]]] outTemp = 10, degree_C windchill = 10, degree_C barometer = 20, hPa windSpeed = 10 rain = 5, mm radiation = 500 UV = 16 [[[[WindRose]]]] title = Wind Rose source = windSpeed period = 3600, 86400, 604800, month, year aggregate_type = aggregate_interval = petals = 16 petal_colors = aqua, 0x0099FF, 0x0033FF, 0x009900, 0x00CC00, 0x33FF33, 0xCCFF00 speedfactor = 0.0, 0.1, 0.2, 0.3, 0.5, 0.7, 1.0 legend_title = True band_percent = True bullseye_percent = True precision = 1 bullseye_size = 20 bullseye_color = 0xFFFACD calm_limit = 0.1

[Weather34RealTime] realtime_path_only = "" unit_system = METRICWX exclude_fields = rain cache_enable = True cache_stale_time = 900 weewx_port = 25252 webserver_address = alberniweather.ca weewxserver_address = home.alberniweather.ca weewx_file_transfer = "" HTML_ROOT = /home/myuser/public_html/weather34/

[Weather34WebServices] aq_url = https://api.waqi.info/feed/geo:49.246146;-124.803918/?token= aq_interval = 300 awc_url = https://api.aerisapi.com/conditions/49.246146,-124.803918?format=json&filter=1min&plimit=1&client_id=FPqH3L7R4Qwu31yetGB9R&client_secret=4Z8mjYUhv19X2xIdSpvnZDr29bWLVyTv7NsK1HCD awc_interval = 300 awh_url = https://api.aerisapi.com/forecasts/49.246146,-124.803918?filter=1hr&limit=24&client_id=FPqH3L7R4Qwu31yetGB9R&client_secret=4Z8mjYUhv19X2xIdSpvnZDr29bWLVyTv7NsK1HCD awh_interval = 1800 awd_url = https://api.aerisapi.com/forecasts/49.246146,-124.803918?filter=daynight&limit=16&client_id=FPqH3L7R4Qwu31yetGB9R&client_secret=4Z8mjYUhv19X2xIdSpvnZDr29bWLVyTv7NsK1HCD awd_interval = 1800 awp_url = https://api.aerisapi.com/phrases/summary/49.246146,-124.803918?client_id=FPqH3L7R4Qwu31yetGB9R&client_secret=4Z8mjYUhv19X2xIdSpvnZDr29bWLVyTv7NsK1HCD awp_interval = 1800 awa_url = https://api.aerisapi.com/alerts/49.246146,-124.803918?format=json&limit=10&lang=it&client_id=FPqH3L7R4Qwu31yetGB9R&client_secret=4Z8mjYUhv19X2xIdSpvnZDr29bWLVyTv7NsK1HCD awa_interval = 1800 wu_url = https://api.weather.com/v3/wx/forecast/daily/5day?geocode=49.246146,-124.803918&language=en&format=json&units=m&apiKey=583e3a58decc44dcbe3a58deccb4dc50 wu_interval = 300 eq_url = https://www.seismicportal.eu/fdsnws/event/1/query?limit=50&lat=49.246146&lon=-124.803918&maxradius=10000&format=json&minmag=2 eq_interval = 3600 ki_url = https://services.swpc.noaa.gov/products/noaa-planetary-k-index-forecast.json ki_interval = 21600 me_url = https://api.checkwx.com/metar/CYQQ/decoded me_header = X-API-Key:0cbbe907ee752568a7c79ea552 me_interval = 3600 pu_url = https://www.purpleair.com/json?show=36625 pu_interval = 3600 ns_url = http://www.bom.gov.au/fwo/ ns_interval = 900 uk_url = https://metoffice.gov.uk/public/data/PWSCache/WarningsRSS/Region/ uk_interval = 3600 services = awc.awh.awd.awp.awa.wu.eq.ki.me.pu

[Weather34CloudCover] enable = True db_field = signal8 cc_interval = 300 cc1_url = https://api.sat24.com/crop?type=visual5hdcomplete&lat=49.246146&lon=-124.803918&width=300&height=300&zoom=1.00&continent= cc1_filename = /tmp/sat1.png cc2_url = https://api.sat24.com/crop?type=infraPolair&lat=49.246146&lon=-124.803918&width=300&height=300&zoom=1.00&continent= cc2_filename = /tmp/sat2.png "

balloonhotair commented 2 years ago

realtime.txt is based on your loop packet timing

balloonhotair commented 2 years ago

Most likely in your driver code for the station.

chrisale commented 2 years ago

that makes sense. I have 1s updates to various services so that's fine.

Could I modify anything to get more detail in the log from the rsync action to see if there is any information there?

balloonhotair commented 2 years ago

Weather34 uses weewx's rsync (weeutil.rsyncupload.RsyncUpload) call you may be able to tweak the call to see log entries. But I would try and to a manual rsync and make sure you are using the same user as what is in weewx config rync section or the user that is running weewx.

steepleian commented 2 years ago

You could try changing your debug setting to debug = 2 in weewx.conf

Sent from my iPhone

On 11 Apr 2022, at 20:26, Chris Alemany @.***> wrote:

 that makes sense. I have 1s updates to various services so that's fine.

Could I modify anything to get more detail in the log from the rsync action to see if there is any information there?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

chrisale commented 2 years ago

Running this rsync command works and the remote website responds immediately : sudo /usr/bin/rsync -azv --rsh='ssh -p 27 -l myuser' /tmp/weather34/ alberniweather.ca:public_html/weather34

So I'm at a loss. No more info from debug=2. I'll investigate the rsyncupload function and see if I can coax some more info from it.

balloonhotair commented 2 years ago

what user name is in you weewx config file? does it match "myuser"

chrisale commented 2 years ago

yup

balloonhotair commented 2 years ago

In your weewx config you sent there is "" in both the transfer and the realtime path. Remove that. These entries need to have nothing in them so the defaults can be used

chrisale commented 2 years ago

no luck with that either. I'm stumped! In the meantime I have a cronjob doing the manual push. I also turned off all of my cronjob to double check that weewx was actually syncing correcting and it is.

balloonhotair commented 2 years ago

In rsyncupload.py if you change the line LOG_ERR to LOG_INF in the try that does the rsync and see what the command is in the log. If the log shown nothing then we know the rsync is not happening for some reason if the cmd is there then you can try the command manually and see what happens.

chrisale commented 2 years ago

Not seeing a LOG_ERR line:

balloonhotair commented 2 years ago

Looks like it is now a log_debug, shows how old my code is. It also shows that you should see a log_debug entry in the log file which I assume you are not. Make sure. So that means something is blocking the rsync from being called. Which then means something changed when you updated your system. Make sure you did not do any weewx config changes and need to also look at the settings1.php file. Ian made a number of changes but I am pretty much not following any of it since I plan on staying on the version I am at since it works fine for me.

chrisale commented 2 years ago

okey-dokey. I'll do more investigating tomorrow. Thanks for the tips!

chrisale commented 2 years ago

with debug=2 set in weewx.conf all I get after 10 minutes of activity from weather34 is the startup messages for the services and then Apr 12 09:01:47 weewx-pi weewx[2141] DEBUG user.weather34: do_file_transfer: Port = 27 every second

Don't think it matters, but of interest perhaps: I did notice that the weewx RSYNC runs before the weather34 report at the archive intervals.

At the report intervals I get: ' DEBUG weewx.reportengine: Running report 'Weather34Report' Apr 12 09:01:48 weewx-pi weewx[2141] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Weather34/skin.conf for report 'Weather34Report' Apr 12 09:01:48 weewx-pi weewx[2141] DEBUG weewx.reportengine: Cannot read localization file /etc/weewx/skins/Weather34/lang/en.conf for report 'Weather34Report': Config file not found: "/etc/weewx/skins/Weather34/lang/en.conf". Apr 12 09:01:48 weewx-pi weewx[2141] DEBUG weewx.reportengine: **** Using defaults instead. Apr 12 09:01:48 weewx-pi weewx[2141] DEBUG weewx.cheetahgenerator: Using search list ['user.stats.MyStats', 'user.lastrain.lastRainTags', 'weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo'] Apr 12 09:01:48 weewx-pi weewx[2141] DEBUG weewx.manager: Daily summary version is 4.0 Apr 12 09:01:48 weewx-pi weewx[2141] INFO weewx.restx: Wunderground-RF: Published record 2022-04-12 09:01:48 PDT (1649779308) '

for the w34 report and

' Apr 12 09:01:53 weewx-pi weewx[2141] INFO weewx.cheetahgenerator: Generated 2 files for report Weather34Report in 5.15 seconds Apr 12 09:01:53 weewx-pi weewx[2141] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/weather34/ Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.reportengine: Running report 'w34Highcharts' Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/w34Highcharts/skin.conf for report 'w34Highcharts' Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.reportengine: Cannot read localization file /etc/weewx/skins/w34Highcharts/lang/en.conf for report 'w34Highcharts': Config file not found: "/etc/weewx/skins/w34Highcharts/lang/en.conf". Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.reportengine: **** Using defaults instead. Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.cheetahgenerator: Using search list ['user.w34highchartsSearchX.w34highcharts_temp_week', 'user.w34highchartsSearchX.w34highcharts_bar_rain_week', 'user.w34highchartsSearchX.w34highcharts_wind_week', 'user.w34highchartsSearchX.w34highcharts_solar_week', 'user.w34highchartsSearchX.w34highcharts_indoor_derived_week', 'user.w34highchartsSearchX.w34highcharts_wind_rose_week', 'user.w34highchartsSearchX.w34highchartsYear', 'weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo'] Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG weewx.manager: Daily summary version is 4.0 Apr 12 09:01:53 weewx-pi weewx[2141] DEBUG user.w34highchartsSearchX: w34highcharts_temp_week SLE executed in 0.156 seconds '

' Apr 12 09:01:58 weewx-pi weewx[2141] DEBUG user.w34highchartsSearchX: w34highchartsYear SLE executed in 3.292 seconds Apr 12 09:01:58 weewx-pi weewx[2141] INFO weewx.cheetahgenerator: Generated 7 files for report w34Highcharts in 5.55 seconds Apr 12 09:01:58 weewx-pi weewx[2141] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/weather34/w34highcharts ' for the w34highcharts ' As for RSYNC I get this on the archive intervals Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weewx.reportengine: Running report 'RSYNC' Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Rsync/skin.conf for report 'RSYNC' Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weewx.reportengine: Cannot read localization file /etc/weewx/skins/Rsync/lang/en.conf for report 'RSYNC': Config file not found: "/etc/weewx/skins/Rsync/lang/en.conf". Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weewx.reportengine: **** Using defaults instead. Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/var/www/html/weewx/', 'xui61059@alberniweather.ca:/home/xui61059/public_html']]

Apr 12 09:01:48 weewx-pi weewx[2141] INFO weeutil.rsyncupload: rsync'd 97 files (5,004,690 bytes) in 3.14 seconds '

balloonhotair commented 2 years ago

So will need to see what weather34.py file you are using and your latest safe to send weewx.conf. The next steps will require using a version of weather34.py with a ton more debug statements.

chrisale commented 2 years ago

As requested: weather34.py.zip weewx.conf.bak.zip

balloonhotair commented 2 years ago

So edit weather34.py and around line 351 replace or add this line. Make sure indent lines up. Then lets see what is in the log. logdbg("do_file_transfer: " + str(port) + " " + mode + " " + rpath + " " + lpath + " " + user + " " + address)

chrisale commented 2 years ago

OK, now I get this from weather34: Apr 12 12:25:09 weewx-pi weewx[20041] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata/ /tmp/weather34/serverdata myuser 158.69.168.199

I tried those values for the remote/local manually and it sent to the wrong place. The trailing slashes were reversed. But no error generated, because the command did actually work. Yet I can't find any misplaced files on my remote from before now that would signal this problem.

This manual command updated correctly: /usr/bin/rsync -azv --rsh='ssh -p 27 -l myuser' /tmp/weather34/serverdata/ 158.69.168.199:/home/myuser/public_html/weather34/serverdata

So it has to be in my config files somewhere?

balloonhotair commented 2 years ago

So not sure what you mean by reverse. My guess is the rpath should not have / after serverdata and the local path should?? The serverdata path are in weather34.py not config but they have not changed for a real long time. Also this would mean that the rsync for jsondata also does not work as well. This does mean rync is working maybe, we should still see a success in the debug output which we do not so I suspect rsync is hanging.

chrisale commented 2 years ago

That's correct on the reverse of the slashes. Perhaps something has changed in rsync itself in my distribution that caused it to balk? I did update my pi/buster distro at the same time as all of this.

balloonhotair commented 2 years ago

Here is a quick hack. Change the line around 380 to this threading.Thread(target=do_file_transfer, args=("rsync", rpath[:-1], None, socket.gethostbyname(web_address), lpath+"/", user, port)).start()

chrisale commented 2 years ago

slashes successfully swapped, but no updates Apr 12 13:41:50 weewx-pi weewx[26429] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199

balloonhotair commented 2 years ago

yea I had my doubts, it has to be something with rsync either on your webserver or weewx. What I do not know. Can you do the command manually with the output in the log now.

balloonhotair commented 2 years ago

So I think this maybe part of it. Weewx made a change in 4.6 dealing with rysnc #725. They want a command now like this rsync --archive --stats -e 'ssh -p 27' /var/www/html/weewx/... user@destination:/home/user/public_html Not sure that is what you are getting based on the output you sent earlier.

balloonhotair commented 2 years ago

We should be seeing this kind of output in the debug log for realtime.txt but we are not Correct? Apr 12 09:01:44 weewx-pi weewx[2141] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/var/www/html/weewx/', 'xui61059@alberniweather.ca:/home/xui61059/public_html']]

balloonhotair commented 2 years ago

So I feel rsync is failing\hanging without throwing any error so need to move the debug into the weewx rsync code and see what is happening. Since I do not have 4.7 I will need the file sent to me to add the debug. The file is rsyncupload.py in weeutil directory.

chrisale commented 2 years ago

Q1: Can I do the command with the output in the log now? No, definitely not exactly. I can use all the elements successful that weather34 now outputs but the actual manual command I use in my cronjob is: rsync -azv --rsh='ssh -p 27 -l myuser' /tmp/weather34/ alberniweather.ca:public_html/weather34

Q2: Based on output I'm getting now I still don't know what exactly the command is, if any, that is being sent to rsync by weather34.

Q3: Correct we are not seeing that output from debug for realtime.txt. The full "cmd:" output only appears during the archive interval for the weewx RSync Report.

Q4: Ask and you shall receive. :) I appreciate your help in troubleshooting. rsyncupload.py.zip

balloonhotair commented 2 years ago

So I added extra debug. If you do not see this then I would suspect you are not using the code base you think you are rsyncupload.py.txt .

chrisale commented 2 years ago

OK, definitely getting a bunch more from rsync, but not sure if it's helpful. (And I had to reboot the weewx machine to get it to stop, all good, I have the original rsynupload file)

Now with every call from weather34 to rsync I get:

Apr 12 16:59:55 weewx-pi weewx[11282] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199 Apr 12 16:59:55 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE INIT Apr 12 16:59:55 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: END OF INIT Apr 12 16:59:55 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE RUN

During the archive interval we get the same three messages from the Rsync report as we do from weather34 generated report.

Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weewx.reportengine: Running report 'RSYNC' Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Rsync/skin.conf for report 'RSYNC' Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weewx.reportengine: Cannot read localization file /etc/weewx/skins/Rsync/lang/en.conf for report 'RSYNC': Config file not found: "/etc/weewx/skins/Rsync/lang/en.conf". Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weewx.reportengine: **** Using defaults instead. Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE INIT Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: END OF INIT Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE RUN Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/var/www/html/weewx/', 'myuser@alberniweather.ca:/home/myuser/public_html']] Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199 Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE INIT Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: END OF INIT Apr 12 17:01:20 weewx-pi weewx[11282] DEBUG weeutil.rsyncupload: rsyncupload: IN THE RUN

balloonhotair commented 2 years ago

Well round two more debug. Need to see where in the weewx code the failure is. rsyncupload.py.txt

balloonhotair commented 2 years ago

We are close there is very few lines left to debug.

chrisale commented 2 years ago

Down to one extra debug line: Apr 12 18:22:36 weewx-pi weewx[7334] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199 Apr 12 18:22:36 weewx-pi weewx[7334] DEBUG weeutil.rsyncupload: rsyncupload: before port

balloonhotair commented 2 years ago

ok so it is the port causing the issue. so on the org weather34.py make the following change on line about 359. port=port, to port=str(port)

chrisale commented 2 years ago

No change that I can detect. after applying the change.

Screen Shot 2022-04-12 at 18 49 59

)

Same log output as previous 'before port'.

balloonhotair commented 2 years ago

It is going to fight all the way. In weather34.py around line 368 change the line to the following and maybe we can get an error message. except Exception as e:

chrisale commented 2 years ago

We Have an Error! Apr 12 19:38:36 weewx-pi weewx[13468] ERROR user.weather34: do_file_transfer %d format: a number is required, not str

balloonhotair commented 2 years ago

so change str(port) to int(port) you did above

chrisale commented 2 years ago

more debug: Apr 12 19:48:30 weewx-pi weewx[14382] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199 Apr 12 19:48:30 weewx-pi weewx[14382] DEBUG weeutil.rsyncupload: rsyncupload: before port Apr 12 19:48:30 weewx-pi weewx[14382] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync']] Apr 12 19:48:30 weewx-pi weewx[14382] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats']] Apr 12 19:48:30 weewx-pi weewx[14382] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/tmp/weather34/serverdata/', 'myuser@158.69.168.199:/home/myuser/public_html/weather34/serverdata']]

balloonhotair commented 2 years ago

So we got to the subprocess command. But are you not seeing any transfers? Can you manually try the command. Need to remove the commas 'rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/tmp/weather34/serverdata/', 'myuser@158.69.168.199:/home/myuser/public_html/weather34/serverdata']

chrisale commented 2 years ago

I didn't let it run long enough... a few things coming up now:

Here is the json, which I believe is working:

Apr 12 20:10:25 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: before port Apr 12 20:10:25 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync']] Apr 12 20:10:25 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats']] Apr 12 20:10:26 weewx-pi weewx[1054] ERROR weeutil.rsyncupload: rsync reported errors. Original command: ['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/var/www/html/weewx/weather34/w34highcharts/json/', 'myuser@158.69.168.199:/home/myuser/public_html/weather34/w34Highcharts/json']

Here's the main archive running:

Apr 12 20:10:54 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/var/www/html/weewx/', 'myuser@alberniweather.ca:/home/xui61059/public_html']]

And here's our realtime file:

Apr 12 20:10:57 weewx-pi weewx[1054] DEBUG user.weather34: do_file_transfer: 27 rsync /home/myuser/public_html/weather34/serverdata /tmp/weather34/serverdata/ myuser 158.69.168.199 Apr 12 20:10:57 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: before port Apr 12 20:10:57 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync']] Apr 12 20:10:57 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats']] Apr 12 20:10:57 weewx-pi weewx[1054] DEBUG weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', '-e', 'ssh -p 27', '/tmp/weather34/serverdata/', 'myuser@158.69.168.199:/home/xui61059/public_html/weather34/serverdata']]

chrisale commented 2 years ago

I'm out for the night. Thanks for your ongoing help :)

balloonhotair commented 2 years ago

So it looks like the interface changed in the latest version of weewx. So I will update weather34.py to do an int for the port and the exception change so if in the future if there is another error we will see it logged.

chrisale commented 2 years ago

well I'll be darned, I think it's working! I'll double check in the morning when my brain can look at code and logs again :)