I have recently signed up to 1&1 to host my weather website and want to get 
weewx to upload files to it, allowing for the fact that they now use SFTP, 
not plain FTP, so I can't use the FTP weewx facility. I tried to use 
Matthew Wall's weew-sftp extension, but couldn't manage to get the python 
pysftp module installed, so I thought I would try Rsync.   I followed the 
steps below and can successfully ssh to my 1&1 FTP account without needing 
to type in a password.

However, when I amend Rysc configuration in weewx.conf as per below, Rsync 
seems to fail.  My syslog is below.  The Rsync error is at the end, but I 
included earlier errors in the syslog, but not sure if they are related to 
the Rsync issue or not.

Any ideas on what is going wrong?

Many Thanks

David.

Oct  4 17:51:17 WeatherPi weewx[10224]: manager: Daily summary version is 
2.0
Oct  4 17:51:17 WeatherPi weewx[10224]: reportengine: Caught unrecoverable 
exception in generator weewx.cheetahgenerator.CheetahGenerator
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  No module named 
forecast
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Traceback (most 
recent call last):
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 239, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      obj.start()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 273, in start
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      self.run()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/cheetahgenerator.py", line 155, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      
self.initExtensions(gen_dict[section_name])
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/cheetahgenerator.py", line 197, in initExtensions
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      class_ = 
weeutil.weeutil._get_object(x)
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weeutil/weeutil.py", line 1132, in _get_object
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      mod = 
__import__(module)
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  ImportError: No 
module named forecast
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Generator terminated
Oct  4 17:51:17 WeatherPi weewx[10224]: reportengine: Caught unrecoverable 
exception in generator weewx.imagegenerator.ImageGenerator
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  'skin'
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Traceback (most 
recent call last):
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 239, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      obj.start()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 273, in start
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      self.run()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/imagegenerator.py", line 31, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      self.setup()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/imagegenerator.py", line 44, in setup
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      
self.skin_dict['skin']))
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/lib/python2.7/dist-packages/configobj.py", line 567, in __getitem__
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      val = 
dict.__getitem__(self, key)
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  KeyError: 'skin'
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Generator terminated
Oct  4 17:51:17 WeatherPi weewx[10224]: reportengine: Caught unrecoverable 
exception in generator weewx.reportengine.CopyGenerator
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  'skin'
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Traceback (most 
recent call last):
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 239, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      obj.start()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 273, in start
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      self.run()
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/share/weewx/weewx/reportengine.py", line 417, in run
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      
self.skin_dict['skin']))
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****    File 
"/usr/lib/python2.7/dist-packages/configobj.py", line 567, in __getitem__
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****      val = 
dict.__getitem__(self, key)
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  KeyError: 'skin'
Oct  4 17:51:17 WeatherPi weewx[10224]:         ****  Generator terminated
Oct  4 17:51:17 WeatherPi weewx[10224]: reportengine: Running report RSYNC
Oct  4 17:51:17 WeatherPi weewx[10224]: reportengine: Found configuration 
file /etc/weewx/skins/Rsync/skin.conf for report RSYNC
Oct  4 17:51:17 WeatherPi weewx[10224]: rsyncupload: [['rsync', 
'--archive', '--stats', '-e ssh', '/var/www/html/weewx/', 
'[email protected]:.']] reported errors: Host key 
verification failed.. rsync: connection unexpectedly closed (0 bytes 
received so far) [sender]. rsync error: error in rsync protocol data stream 
(code 12) at io.c(605) [sender=3.0.9]
Oct  4 17:51:17 WeatherPi weewx[10224]: rsyncupload: rsync executed in 0.41 
seconds


On Monday, 23 October 2017 14:13:14 UTC+1, Geoff Cusick wrote:
>
> Apologies that (a) I didn't post the solution immediately I found it, and 
> (b) it's taken me a while to respond.  But I did sort this out.
>
> The critical step is to set up passwordless SSH access to your FTP account 
> on 1and1.  To do this, you need to know:
>
>
>    - The server address for your FTP account.  In my case, this is 
>    something like: 
>    
>    homexxxxxxxx.1and1-data.host
>    
>    - The user name for this account, something like uXXXXXX
>    - The password for the account.
>
> The next step is to generate an SSH key pair for your local machine, and 
> upload the public part to the 1and1 server.  There's a helpful article at 
> https://linuxconfig.org/passwordless-ssh that sets out the series of 
> steps.  The location for the ssh-copy-id command is 
> [email protected]
>
>
> Once you've completed this bit, and verified that you can sss to 
> [email protected] with no password request, you can set 
> up weewx to use rsync to transfer the relevant files from weewx to 1and1.
>
>
> The relevant part of weewx.conf is:
>
>
> ******************
>
>
> [[RSYNC]]
>         # rsync'ing to a webserver is treated as just another report
>         skin = Rsync
>         
>         # If you wish to use rsync, you must configure passwordless ssh 
> using
>         # public/private key authentication from the user account that 
> weewx
>         # runs as to the user account on the remote machine where the files
>         # will be copied.
>         #
>         # The following three lines determine where files will be sent.
>         #server = replace with the rsync server name, e.g, 
> www.threefools.org
>          server = homexxxxxxxx.1and1-data.host
>         #path = replace with the rsync destination directory (e.g., 
> /weather)
>          path = webroot/weather/
>         #user = replace with the rsync username
>          user = uXXXXXXX
>         
>         # Rsync can be configured to remove files from the remote server if
>         # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if 
> you
>         # make a mistake in the remote path, you could could 
> unintentionally
>         # cause unrelated files to be deleted. Set to 1 to enable remote 
> file
>         # deletion, zero to allow files to accumulate remotely.
>         delete = 0
>
>
>
> ***********
>
> Just to explain, the root for my web server is at /webroot on the1and1 
> server, and all the weewx files are under weather, below that.  I found 
> that I had to omit the leading '/' on /webroot.
>
>
> Then you need to stop and restart weewx to implement the change to 
> weewx.conf.
>
>
> Good luck!!
>
>
> Geoff
> On Sunday, 22 October 2017 20:42:12 UTC+1, Robert Isbell wrote:
>>
>> Andy and Geoff,
>> I too am in the same position as Geoff. Is there a "Howto" somewhere for 
>> setting up rsync to work with 1&1.
>>
>> On Friday, October 6, 2017 at 3:18:29 PM UTC-7, Geoff Cusick wrote:
>>>
>>> Andy, 
>>>
>>> I know this was a while back, but can you give me any pointers to 
>>> setting up rsync between weewx and a 1and1 server - they’ve recently 
>>> disabled ‘ordinary’ ftp, and my website is stuck on 24 September. 
>>>
>>> Any hints much appreciated. 
>>>
>>> Thanks 
>>> Geoff
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to