작업 스케줄러를 사용하여 bash 스크립트를 실행하는 방법(Windows 10 V1903)

작업 스케줄러를 사용하여 bash 스크립트를 실행하는 방법(Windows 10 V1903)

내 Windows PC의 폴더를 raspberrypi에 연결된 외부 하드 드라이브에 자동으로 동기화하고 싶습니다. 내 스크립트가 작동하고 rsync를 사용하여 2개의 폴더를 복사합니다.

작업 스케줄러를 통해 자동화하고 싶지만 작동하지 않습니다. 작업 스케줄러에서 bash 스크립트로 직접 실행해 보았고 마음에 드는 또 다른 것을 시도했습니다. bash 스크립트를 실행하는 배치 파일을 작성했습니다. 배치 파일을 직접 실행할 때는 작동하지만 작업 스케줄러를 통해 실행하면 더 이상 작동하지 않으며 오류 메시지 등이 없기 때문에 이유를 알 수 없습니다.

또한 폴더를 생성하고 제대로 작동하는 작업 스케줄러를 통해 실행하는 또 다른 배치 파일을 작성했습니다. 문제는 작업 스케줄러와 bash에 관한 것입니다.

어떤 도움이라도 주시면 감사하겠습니다!

배시 스크립트:

#!/bin/bash

rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/100D3300/[이메일 보호됨]://mnt/share/Bilder/Normal
rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/Bilder\ Editiert/[이메일 보호됨]//mnt/share/Bilder/Editiert

이 스크립트를 실행하기 위한 배치 파일:

다양한 품종을 시도했습니다. -c 포함, -c 제외, "./" 포함 및 제외.

@에코 꺼짐
c:\스크립트\
bash.exe -c "./sync.bash"

답변1

@FedonKadifeli에게 감사드립니다. 문제는 내 스크립트에 있었습니다. 이 스크립트는 직접 실행했을 때 제대로 작동했습니다. 이유는 모르겠지만 작동했습니다.

@에코 꺼짐
c:\스크립트\
bash.exe -c "./sync.bash"

하지만 이렇게 보여야 합니다. 수정한 후에는 잘 작동했습니다. 배치 스크립팅에 더 많은 시간을 투자했어야 했습니다.

@에코 꺼짐
씨:
CD\스크립트\
bash.exe -c "./sync.bash"

답변2

cdDOS 배치 스크립트에서는 명령의 정류자 덕분에 한 줄 명령으로 드라이브와 경로를 변경할 수 있습니다 /D. 따라서 다음과 같이 끝납니다.

@echo off
cd /D c:\scripts\
bash.exe -c "./sync.bash"

관련 정보