Executando o comando rsync shell no php

2

Estou tentando fazer um rsync de amazon cloud para minha máquina local usando o php.

Eu tenho

$copy = 'rsync -acz [email protected]:/project/file.txt .'

shell_exec ($copy)

No entanto, o arquivo não é copiado e também não há mensagem de erro. Alguém pode me dar uma dica sobre isso? Muito obrigado!

    
por FlyingCat 20.04.2013 / 02:00

1 resposta

1

Existem algumas coisas que podem dar errado aqui. Primeiro de tudo, você está perdendo um ponto e vírgula no final da declaração da variável $copy . Seu script deve ser

$copy = 'rsync -acz user@server:/home/user/foo.txt .';
shell_exec ($copy);

Se esse é apenas um erro de digitação em sua postagem e não como o script real é, certifique-se de poder executar o comando corretamente a partir de um terminal, sem precisar digitar uma senha. Se puder, inicie seu script php novamente, mas monitore seus logs de erros. Supondo que você esteja executando este script através de um servidor web apache, isso seria

tail -f /var/log/apache2/error.log
    
por 20.04.2013 / 14:47

Tags