I recently setup rsync with weewx. This took a couple of hours, and help 
from my friends, so I wrote out all the steps I used to make it work.
This is not the only way to make rsync work, but a single set of 
instructions.
Liz

-- 
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 weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/f110b3eb-56e2-4909-8d11-3940a4d3f7ben%40googlegroups.com.
1. Work out
        which computer is the source (the one collecting the weather data)
        which computer is the destination (the one where the public to check 
your weather site)
        on the destination computer, what is the user name for the webserver
        the IP address of the destination computer eg 192.168.1.1 OR its domain 
name eg myweather.com
        the correct paths for the data on each computer
        and, on your source computer which is your weewx.conf file 
2. Install any packages required - ssh, rsync 
        Check that ssh on the destination will accept key pair login
        Make sure you have ssh access to both computers
3. On the source computer make a new private / public key pair.
        Don't overwrite an existing pair.
        From your user directory check for previous existing pairs
        $ ls -al ~/.ssh/id_*.pub
        If you get "No such file or directory" you are set to go. If you have 
existing key pairs you need
        to either move them out of the way temporarily or risk reusing them.
        To make the new key pair 
        $ ssh-keygen -t rsa -b 4096 -C "your_em...@domain.com"
        The email address is not critical, but it helps you identify the key. 
You might have
        'weewx_rs...@myweather.com'
        Accept the default file location for your key pair, and just press 
enter for the passphrase, twice.
        Check that you now have two files 
        $ ls ~/.ssh/id_* 
        output /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
        id_rsa is your private key, to stay on your source computer
        id_rsa.pub is your public key to put on the destination computer.
4. Copy the Public key to its new home
        Firstly copy the public key to your directory on the destination.
        $ ssh-copy-id your_destination_username@destination_server_ip_address 
(eg fr...@myweather.com)
        You should find in /home/user/.ssh/authorized_keys the identical file 
to id_rsa.pub
        Before you move it again, check you can do a passwordless login via ssh 
from your source computer
        $ ssh u...@myweather.com or ssh user@192.168.1.1 (use the correct 
address)
        If this doesn't work you need to check your ssh configurations
        Once you can do the passwordless login, move the file.
        Here you need the user name for the webserver. On Debian its www-data. 
        Move with sudo, then change the ownership of the file to www-data
        $ sudo mv .ssh/authorized_keys ~www-data/.ssh/authorized keys
        $ sudo chown www-data:www-data ~www-data/.ssh/authorized_keys
        British English users need to resist the temptation to change the 
spelling.
        Test again from your source computer 
        $ ssh www-d...@myweather.com or ssh www-data@192.168.1.1 (use the 
correct address)
        As www-data hasn't got a shell (like bash) you won't be able to do much 
without providing one
        On the destination computer 
        $ sudo chsh www-data will allow you to provide a shell eg '/bin/bash' 
for www-data
        I don't know if this is required.
5. Copy the private key to its new home
        Weewx runs as root, so root has to be able to find the private key. 
        On source computer 
        $ sudo mv /home/user/.ssh/id_rsa /root/.ssh/id_rsa
6. Test rsync on the command line
        $ sudo rsync -arP /var/www/html/weewx/ 
www-data@192.168.1.1:/var/www/html/weewx/ (use the correct address and paths)
        If you get errors check that your webserver user does own the files and 
directories on the destination
        $ sudo chown -R www-data: /var/www/html/weewx
7. Rsync from weewx every reporting cycle
        Edit /etc/weewx/weewx.conf (it may have another path)
        Under [[RSYNC]]
        remove the hash from the server, path and user lines and put in your 
destination server, the path on 
        the destination server and the username, as in the example here
                server = 192.168.1.1
                path = /var/www/html/weewx/
                user = www-data
        Check your work, save the file and restart weewx
8. If its all working, tidy up. Remove the copy of the public key from our home 
directory.
        $ rm .ssh/id_rsa* 
        If you moved a key pair from your own user space you need to be put it 
back.
 

        
        

Reply via email to