Differences
This shows you the differences between the selected revisions of the page.
| library_example_watch_for_changes 2017-11-13 | 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 9: | Line 9: | ||
| <code powershell> | <code powershell> | ||
| param ( | param ( | ||
| - | # Use Generate 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...", |
| }; | }; | ||