.png)
я хочу автоматически синхронизировать папку на моем компьютере с 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"