Differences
This shows you the differences between the selected revisions of the page.
library_example_watch_for_changes 2017-12-21 | library_example_watch_for_changes 2022-06-16 (current) | ||
Line 1: | Line 1: | ||
====== Watching for changes in SFTP/FTP server ====== | ====== Watching for changes in SFTP/FTP server ====== | ||
- | Neither SFTP nor FTP protocol have any mechanism to notify a client about changes in a remote folder. The only solution to detect changes is to periodically enumerate remote directory tree and find differences. It's easy to implement with use of ''[[library_session_enumerateremotefiles|Session.EnumerateRemoteFiles]]'' method and ''[[ps>microsoft.powershell.utility/compare-object|Compare-Object]]'' cmdlet in PowerShell or ''[[msdn>system.linq.enumerable.except|Enumerable.Except]]'' LINQ method in C#/%%VB.NET%%. | + | Neither SFTP nor FTP protocol have any mechanism to notify a client about changes in a remote folder. The only solution to detect changes is to periodically enumerate remote directory tree and find differences. It's easy to implement with use of ''[[library_session_enumerateremotefiles|Session.EnumerateRemoteFiles]]'' method and ''[[ps>microsoft.powershell.utility/compare-object|Compare-Object]]'' cmdlet in PowerShell or ''[[dotnet>system.linq.enumerable.except|Enumerable.Except]]'' LINQ method in C#/%%VB.NET%%. |
//Note that, if you want to download the changes, you do not need to check for changes yourself, just run ''[[library_session_synchronizedirectories|Session.SynchronizeDirectories]]'' in a loop. You can use the [[library_example_keep_local_directory_up_to_date|Keep local directory up to date]] extension.// | //Note that, if you want to download the changes, you do not need to check for changes yourself, just run ''[[library_session_synchronizedirectories|Session.SynchronizeDirectories]]'' in a loop. You can use the [[library_example_keep_local_directory_up_to_date|Keep local directory up to date]] extension.// | ||
Line 10: | Line 10: | ||
param ( | param ( | ||
# Use Generate Session URL function to obtain a value for -sessionUrl parameter. | # Use Generate Session URL function to obtain a value for -sessionUrl parameter. | ||
- | $sessionUrl = "sftp://user:mypassword;fingerprint=ssh-rsa-xx-xx-xx@example.com/", | + | $sessionUrl = "sftp://user:mypassword;fingerprint=ssh-rsa-xxxxxxxxxxx...@example.com/", |
$remotePath = "/home/user" | $remotePath = "/home/user" | ||
) | ) | ||
Line 112: | Line 112: | ||
UserName = "user", | UserName = "user", | ||
Password = "password", | Password = "password", | ||
- | SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx...", | + | SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx...", |
}; | }; | ||