problems with rsync

Discussion in 'Installation/Configuration' started by unsichtbare, Nov 24, 2008.

  1. unsichtbare

    unsichtbare HowtoForge Supporter

    When I run rsync I get:

    Code:
    rsync: opendir "/var/www/web5/user/web5_rsts/Maildir" failed: Permission denied (13)
    rsync: opendir "/var/www/web5/user/web5_rsts/.spamassassin" failed: Permission denied (13)
    rsync: opendir "/var/www/web5/user/web5_test/Maildir" failed: Permission denied (13)
    rsync: opendir "/var/www/web5/user/web5_test/.spamassassin" failed: Permission denied (13)
    Although it does successfully copy some files.

    Also, when I try to automate the rsync process following the tutorial, it still asks for a password, then fails.

    Code:
    root@mirrior1:~# rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -i /root/rsync/mirror-rsync-key" someuser@clients1.myserver.com:/var/www/ /var/www/
    someuser@clients1.myserver.com's password:
    bash: /home/someuser/rsync/checkrsync: /bin/shcase: bad interpreter: No such file or directory
    rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
    rsync error: remote command could not be run (code 126) at io.c(454) [receiver=2.6.9]
    Yes I actually created a user account "someuser", following the tutorial.

    Any suggestions?

    One other thing, when I ran:

    Code:
    ssh-keygen -t dsa -b 2048 -f /root/rsync/mirror-rsync-key
    as root, it told me that the key needed to be 1024 bits so I changed 2048 to 1024 and re-ran it.

    -J
     
  2. till

    till Super Moderator

    Please run the rsync command as root user, otherwise the process does not has the permissions to copy the files.
     
  3. unsichtbare

    unsichtbare HowtoForge Supporter

    Code:
    login as: root
    root@XX.YY.ZZ.103's password:
    Last login: Mon Nov 24 08:13:47 2008 from 
    Linux mirrior1.myserver.com 2.6.20-15-server #2 SMP Sun Apr 15 07:41:34 UTC                        2007 i686
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    root@mirrior1:~# rsync -avz --delete --exclude=**/stats --exclude=**/error --exclude=**/files/pictures -e "ssh -i /root/rsync/mirror-rsync-key" someuser@clients1.myserver.com:/var/www/ /var/www/
    someuser@clients1.myserver.com's password:
    bash: /home/someuser/rsync/checkrsync: /bin/shcase: bad interpreter: No such file or directory
    rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
    rsync error: remote command could not be run (code 126) at io.c(454) [receiver=2.6.9]
    root@mirrior1:~#
    
    I was careful to run commands either as "someuser" or root as specified in the tutorial.

    -J
     
  4. till

    till Super Moderator

    Yes, but if someuser has not the permissions to read files, it can not be synced :)
     
  5. falko

    falko Super Moderator

    What's in /home/someuser/rsync/checkrsync?
     
  6. unsichtbare

    unsichtbare HowtoForge Supporter

    /home/someuser/rsync/checkrsync
    Code:
    #!/bin/shcase "$SSH_ORIGINAL_COMMAND" in        *\&*)                echo "Rejected"                ;;        *\(*)                echo "Rejected"                ;;        *\{*)                echo "Rejected"                ;;        *\;*)                echo "Rejected"                ;;        *\<*)                echo "Rejected"                ;;        *\`*)                echo "Rejected"                ;;        rsync\ --server*)                $SSH_ORIGINAL_COMMAND                ;;        *)                echo "Rejected"                ;;esac
    ~
    

    -J
     
  7. falko

    falko Super Moderator

    The problem is that you have everything in one line. It must look like this instead:

    Code:
    #!/bin/sh
    
    case "$SSH_ORIGINAL_COMMAND" in
            *\&*)
                    echo "Rejected"
                    ;;
            *\(*)
                    echo "Rejected"
                    ;;
            *\{*)
                    echo "Rejected"
                    ;;
            *\;*)
                    echo "Rejected"
                    ;;
            *\<*)
                    echo "Rejected"
                    ;;
            *\`*)
                    echo "Rejected"
                    ;;
            rsync\ --server*)
                    $SSH_ORIGINAL_COMMAND
                    ;;
            *)
                    echo "Rejected"
                    ;;
    esac
     
  8. andrercmeira

    andrercmeira New Member

    I use rsync in my server, vmail copy normaly, but www not copy,

    i follow http://www.howtoforge.com/mirroring_with_rsync,

    its work for vmail, my reverse dns files, but not for /var/www

    Code:
    root@johan:/var/vmail# rsync -avzu --delete --exclude=*/tmp/ --exclude=.bash_history -e "ssh -i /root/rsync/mirror-rsync-key" sincronismo@servidor1.izaz.com.br:/var/www/ /var/www/
    receiving incremental file list
    rsync: opendir "/var/www/clients/client1/web1/cgi-bin" failed: Permission denied (13)
    IO error encountered -- skipping file deletion
    rsync: opendir "/var/www/clients/client1/web1/ssl" failed: Permission denied (13)
    rsync: opendir "/var/www/clients/client1/web1/web" failed: Permission denied (13)
    rsync: opendir "/var/www/clients/client2/web2" failed: Permission denied (13)
    rsync: opendir "/var/www/clients/client2/web3" failed: Permission denied (13)
    
    sent 225 bytes  received 94091 bytes  188632.00 bytes/sec
    total size is 49697052  speedup is 526.92
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1526) [generator=3.0.7]
    
     
  9. falko

    falko Super Moderator

    There seems to be a permissions problem. Can you, for example, post the output of
    Code:
    ls -la /var/www/clients/client1/web1/cgi-bin/
    ?

    BTW, you use ISPConfig 3, not 2, right? Because this is the ISPConfig 2 forum... ;)
     
  10. Ripeed

    Ripeed Member

    Hi, I have the same problem. I dont want to use root for rsync but I dont know how get read rights to some user.

    This is my output

    Code:
    root@sue:~# ls -la /var/www/clients/client1/web1/cgi-bin/
    total 8
    drwxr-x--x 2 web1 client0 4096 Oct  6 10:07 .
    drwxr-x--x 6 web1 client1 4096 Oct 10 10:03 ..
    
     
  11. falko

    falko Super Moderator

    If you use web1 as the rsync user or any user that belongs to the client0 group, everything should be fine. I don't recommend to change permissions of your web folders as this might result in unpredictable behaviour.
     
  12. Ripeed

    Ripeed Member

    Thanks but, I want to sync by some user from WWW directory. If I add new web I dont want adding new backup process. Can you help me with this? Now I can do that by root user. I think its not good:)
     
  13. falko

    falko Super Moderator

    But that's the best solution if you want to sync directories that are owned by different users/groups.
     

Share This Page