Skip to content

Instantly share code, notes, and snippets.

@damc-dev
Last active January 31, 2024 15:44
Show Gist options
  • Star 44 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save damc-dev/eb5e1aef001eef78c0f4 to your computer and use it in GitHub Desktop.
Save damc-dev/eb5e1aef001eef78c0f4 to your computer and use it in GitHub Desktop.
Execute Bash Script (Using Git Bash) from Windows Task Scheduler
cmd /c ""C:\Program Files (x86)\Git\bin\bash.exe" --login -i -- H:\Daily_Reports\yesterdayTogglReport.sh"
@GunterO
Copy link

GunterO commented Apr 23, 2020

Thanks!

@balajimark
Copy link

Hi David,

I have a bash script which copies the files from Windows 2016 Server (Source) to Linux SFTP server (Destination), both are in different network and VPN has been established and files are getting copied.

I tried the running the bash script using bat file in cmd prompt, but it was idle for quite long time without any response.

C:\Users\Administrator>stagescript.bat

C:\Users\Administrator>cmd /c ""C:\Program Files\Git\bin\bash.exe" --login -i -- C:\Users\Administrator\Documents\scripts\stage.sh"

Terminate batch job (Y/N)?

Kindly let me know what am I missing?

Note: It was working fine with other simple bash scripts but not the one which I am using.

@cixelsyd
Copy link

cixelsyd commented Oct 17, 2020

this below works to execute a ruby script from git bash via scheduled task

note:

  • the windows-style pathing for the git bash portion
  • the *nix-style pathing after -C (to declare the working directory for the script - important for gems installed there with bundler)
  • the space between the linux-style script base directory path and the name of the script itself
  • ruby.exe must be on the PATH
"C:\Program Files\Git\bin\bash.exe" --login -c "ruby -C /x/repos/scripts script.rb"

@paodeacucar
Copy link

This was a big help for me as well. I made a slight change to the syntax though.

cmd /c '"C:\Program Files\Git\bin\bash.exe" --login -i -- H:\Daily_Reports\yesterdayTogglReport.sh'

Using single quotes ( apostrophes ) to enclose everything that is being passed to cmd /c .

Thanks again.

@GlinZachariah
Copy link

Thanks

@aumua123
Copy link

In windows 10 task scheduler action configuration this can also be done by

Action: Start a program
Program/script: "C:\Program Files\Git\bin\bash.exe" (or whatever your bash.exe location is)
Add Arguments: --login -i -- H:\Daily_Reports\yesterdayTogglReport.sh

@noramaidana
Copy link

Thanks!!!!! :D

@AlainBartmanDilaw
Copy link

Big help !
Unfortunately, opening bash.exe always ask me for ssh key passphrase (work requirement).
Is there a way to avoid those passphrases ?
Thanks !

@millebi
Copy link

millebi commented Feb 25, 2022

There are a number of options.

I just duplicated my key and removed the passphrase for batch jobs (insecure depending on where/how you store your key files, but solves this particular problem). This may violate your company's requirement, so don't do this when you've been required to have a passphrase; use this second option.

Another option is in this: https://stackoverflow.com/questions/21095054/ssh-key-still-asking-for-password-and-passphrase (You're looking for the ssh-add/ssh-agent info). Also look here: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases

@Vrum89
Copy link

Vrum89 commented May 19, 2022

In windows 10 task scheduler action configuration this can also be done by

Action: Start a program Program/script: "C:\Program Files\Git\bin\bash.exe" (or whatever your bash.exe location is) Add Arguments: --login -i -- H:\Daily_Reports\yesterdayTogglReport.sh

Hi tried, but the action result stucked 'in esecution'
I tried via CMD and It works properly.
Any suggestion?

@ryansherby
Copy link

Same problem here. Did you discover a solution?

@eddyizm
Copy link

eddyizm commented Apr 7, 2023

@ryansherby I bypass the cmd and call it the .sh file directly instead.

@eolmsan
Copy link

eolmsan commented Aug 9, 2023

It worked I had a problem and in Start In I had to puth the path of the .sh file

@olga-ibragimova-mckinsey

Thank you a lot

@jturnercode
Copy link

thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment