.png)
quero sincronizar automaticamente a pasta do meu PC com Windows para o meu disco rígido externo conectado a um raspberrypi. Meu script funciona e usa apenas o rsync para copiar 2 pastas.
Quero automatizá-lo através do Agendador de Tarefas, mas não funciona. Tentei executá-lo diretamente como um script bash do Agendador de tarefas e tentei outra coisa que me veio à mente. Eu escrevi um arquivo em lote que executa meu script bash. Funciona ao executar o arquivo em lote manualmente, mas quando faço isso por meio do Agendador de tarefas, ele não funciona mais e não consigo entender o porquê, já que não tenho mensagens de erro ou algo assim.
Também escrevi outro arquivo em lote que cria uma pasta e o executei por meio do Agendador de tarefas, que funcionou bem. O problema deve ser algo com o Agendador de tarefas e o bash.
Qualquer ajuda seria muito apreciada!
Script Bash:
#!/bin/bash rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/100D3300/[e-mail protegido]://mnt/share/Imagens/Normal rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/Imagens\ Editado/[e-mail protegido]://mnt/share/Imagens/Editiert
Arquivo em lote para executar este script:
experimentei variedades diferentes. Com -c, sem -c, com "./" e sem.
@eco desligado c:\scripts\ bash.exe -c "./sync.bash"
Responder1
Obrigado a @FedonKadifeli. O problema estava no meu script: funcionou quando executado manualmente, não sei por que, mas funcionou.
@eco desligado c:\scripts\ bash.exe -c "./sync.bash"
Mas deveria ser assim. Depois de corrigi-lo, funcionou bem para mim. Deveria ter passado mais tempo com scripts em lote.
@eco desligado c: cd \scripts\ bash.exe -c "./sync.bash"
Responder2
em seu script em lote do DOS, você pode alterar a unidade e o caminho com um comando de uma linha, graças ao comutador cd
do comando /D
. Portanto, você acabaria com o seguinte:
@echo off
cd /D c:\scripts\
bash.exe -c "./sync.bash"