Как запустить bash-скрипт с помощью планировщика задач (Windows 10 V1903)

Как запустить bash-скрипт с помощью планировщика задач (Windows 10 V1903)

я хочу автоматически синхронизировать папку на моем компьютере с Windows с моим внешним жестким диском, подключенным к Raspberry Pi. Мой скрипт работает и просто использует rsync для копирования 2 папок.

Я хочу автоматизировать это через планировщик заданий, но это не работает. Я пробовал запустить его напрямую как скрипт bash из планировщика заданий и попробовал еще одну вещь, которая пришла мне в голову. Я написал пакетный файл, который выполняет мой скрипт bash. Он работает, когда я запускаю пакетный файл вручную, но когда я делаю это через планировщик заданий, он больше не работает, и я не могу понять почему, так как у меня нет сообщений об ошибках или чего-то еще.

Я также написал еще один пакетный файл, который создает папку и выполнил его через Task Scheduler, который отлично работал. Проблема должна быть в чем-то с Task Scheduler и bash.

Любая помощь приветствуется!

Bash-скрипт:

#!/bin/баш

rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/100D3300/[email protected]://mnt/share/Bilder/Нормальный
rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/Изображения\ Редактировать/[email protected]://mnt/share/Bilder/Редактировать

Пакетный файл для запуска этого скрипта:

пробовал разные варианты. С -c, без -c, с "./" и без.

@эхо выкл.
c:\скрипты\
bash.exe -c "./sync.bash"

решение1

Спасибо @FedonKadifeli. Проблема была в моем скрипте: он работал, когда запускался вручную, я не знаю почему, но он работал.

@эхо выкл.
c:\скрипты\
bash.exe -c "./sync.bash"

Но это должно выглядеть так. После исправления у меня все заработало. Нужно было больше времени потратить на пакетное скриптование.

@эхо выкл.
с:
cd \скрипты\
bash.exe -c "./sync.bash"

решение2

В вашем пакетном скрипте DOS вы можете изменить диск и путь с помощью однострочной команды благодаря коммутатору cdкоманды /D. Таким образом, вы получите следующее:

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

Связанный контент