I have a very small office environment, and my team sends created pdfs to an sFTP server daily.
Occasionally, I will get a call that someone can’t log in to upload the files.
My normal course of action is to connect to the sFTP server myself, run a commmand like ls to determine it is responding.
I would like to be able to automate this with notification if there is a failure:
- Login to the sFTP server (with credentials).
- Run an LS command
- Email if connection times out or login fails.
I have limited experience with writing Batch files, but I can’t seem to figure a way to get only a ‘failed’ / no response to send an email.
Could anyone help with ideas? I’d like to run this as a VB or Batch in Scheduled Tasks, as I have a Server 2000 machine this could run on. I know batch has issue sending emails, but i have another batch file that uses Blat.exe to send an email with passed variables, so i could use that if i could get batch to send failed responses…
You should be able to do this with a batch file.
Create a file called
logon.ftp. This file contains the FTP logon script. Mine contains:The testftp.bat file:
You’ll need to get blat, and grep so you can do the string checking. My winxp ftp doesnt support errorlevels, so I’m using the errorlevel returned from grepping the ‘Not connected’ string to figure out if this worked or not.
You can get wget or curl to do this as well, and they do support errorlevels.