
我想自動將 Windows 電腦上的資料夾同步到連接到樹莓派的外部硬碟。我的腳本有效,僅使用 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”
但它應該看起來像這樣。糾正後,它對我來說效果很好。應該花更多的時間來編寫批次腳本。
@迴聲關閉 C: cd \腳本\ bash.exe -c“./sync.bash”
答案2
cd
在 DOS 批次腳本中,借助命令的換向器,您可以使用一行命令來變更磁碟機和路徑/D
。因此你最終會得到以下結果:
@echo off
cd /D c:\scripts\
bash.exe -c "./sync.bash"