The problem
If you want to use DeltaCopy over SSL and run it as a scheduled task, it will work perfectly when a user is logged into windows.
So if you try to run the scheduled task from the scheduled task manager, it will work!But when it will run as scheduled and no user is logged in, the DeltaCopy executable will run but nothing will be copied.
The following precess will be visible in the task manager: DeltaC.exe, ssh.exe, and rsync.exe.
To add you server to the known host list, simply test manually the connection:
The following precess will be visible in the task manager: DeltaC.exe, ssh.exe, and rsync.exe.
To add you server to the known host list, simply test manually the connection:
ssh ServerIP -l Username -i SSHKEYS -p 22
The solution
When the task is started from the scheduled task manager the user home directory is set to the root of the windows driver (usually C:).
But when the user is logged on, the user home directory point to “C:\Documents and Settings\UserName\” at least in windows 7.
The problem is that Ssh.exe create a .ssh directoty as a subfolder on the user home directory, there it saves the know_hosts file which contains the host’s list of known ssl servers.When ssh.exe does not find the server on the list, it will ask for a user to confirm the host, this causes a dead lock on the programs.
But when the user is logged on, the user home directory point to “C:\Documents and Settings\UserName\” at least in windows 7.
The problem is that Ssh.exe create a .ssh directoty as a subfolder on the user home directory, there it saves the know_hosts file which contains the host’s list of known ssl servers.When ssh.exe does not find the server on the list, it will ask for a user to confirm the host, this causes a dead lock on the programs.
The quick and dirty way
Copy the know_hosts file where ssh.exe expect to find it, in a subfolder of the windows drive root called .ssh .
The elegant way
Instead of executing directly the DeltaCopy profile from the scheduled task, run batch file.
It will set the needed environnement variables and then run the DeltaCopy profile.
It will set the needed environnement variables and then run the DeltaCopy profile.
As in the following code sample:
SET HOME=%USERPROFILE% "C:\Program Files\DeltaCopy\{YourProfile}.dcp"
Bibliography
Some interesting guides about the topic:
Saved the day with this after a couple hours of frustration !
TYVM ! 😀