Differences
This shows you the differences between the selected revisions of the page.
| library_example_check_existence_timestamp 2017-10-03 | library_example_check_existence_timestamp 2022-06-16 (current) | ||
| Line 24: | Line 24: | ||
| UserName = "user", | UserName = "user", | ||
| Password = "mypassword", | Password = "mypassword", | ||
| - | SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" | + | SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..." |
| }; | }; | ||
| Line 35: | Line 35: | ||
| string fileName = "export_" + stamp + ".txt"; | string fileName = "export_" + stamp + ".txt"; | ||
| string remotePath = "/home/user/sysbatch/" + fileName; | string remotePath = "/home/user/sysbatch/" + fileName; | ||
| - | string localPath = "d:\\backup\\" + fileName; | + | string localPath = @"d:\backup\" + fileName; |
| // Manual "remote to local" synchronization. | // Manual "remote to local" synchronization. | ||
| Line 41: | Line 41: | ||
| // You can achieve the same using: | // You can achieve the same using: | ||
| // session.SynchronizeDirectories( | // session.SynchronizeDirectories( | ||
| - | // SynchronizationMode.Local, localPath, remotePath, false, false, SynchronizationCriteria.Time,· | + | // SynchronizationMode.Local, localPath, remotePath, false, false, |
| + | // SynchronizationCriteria.Time, | ||
| // new TransferOptions { FileMask = fileName }).Check(); | // new TransferOptions { FileMask = fileName }).Check(); | ||
| if (session.FileExists(remotePath)) | if (session.FileExists(remotePath)) | ||
| Line 48: | Line 49: | ||
| if (!File.Exists(localPath)) | if (!File.Exists(localPath)) | ||
| { | { | ||
| - | Console.WriteLine("File {0} exists, local backup {1} does not", remotePath, localPath); | + | Console.WriteLine( |
| + | ····························"File {0} exists, local backup {1} does not", | ||
| + | ···························remotePath, localPath); | ||
| download = true; | download = true; | ||
| } | } | ||
| else | else | ||
| { | { | ||
| - | DateTime remoteWriteTime = session.GetFileInfo(remotePath).LastWriteTime; | + | DateTime remoteWriteTime = |
| + | ···························session.GetFileInfo(remotePath).LastWriteTime; | ||
| DateTime localWriteTime = File.GetLastWriteTime(localPath); | DateTime localWriteTime = File.GetLastWriteTime(localPath); | ||
| Line 117: | Line 121: | ||
| .UserName = "user" | .UserName = "user" | ||
| .Password = "mypassword" | .Password = "mypassword" | ||
| - | .SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" | + | .SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..." |
| End With | End With | ||
| Line 124: | Line 128: | ||
| session.Open(sessionOptions) | session.Open(sessionOptions) | ||
| - | Dim stamp As String = DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture) | + | Dim stamp As String = |
| + | ···················DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture) | ||
| Dim fileName As String = "export_" & stamp & ".txt" | Dim fileName As String = "export_" & stamp & ".txt" | ||
| Dim remotePath As String = "/home/user/sysbatch/" & fileName | Dim remotePath As String = "/home/user/sysbatch/" & fileName | ||
| Line 132: | Line 137: | ||
| ' You can achieve the same using: | ' You can achieve the same using: | ||
| - | ' session.SynchronizeDirectories( _ | + | ' session.SynchronizeDirectories( |
| - | ' SynchronizationMode.Local, localPath, remotePath, False, False, SynchronizationCriteria.Time, _ | + | ' SynchronizationMode.Local, localPath, remotePath, False, False, |
| + | ' SynchronizationCriteria.Time, | ||
| ' New TransferOptions With { .FileMask = fileName }).Check | ' New TransferOptions With { .FileMask = fileName }).Check | ||
| If session.FileExists(remotePath) Then | If session.FileExists(remotePath) Then | ||
| Dim download As Boolean | Dim download As Boolean | ||
| If Not File.Exists(localPath) Then | If Not File.Exists(localPath) Then | ||
| - | Console.WriteLine("File {0} exists, local backup {1} does not", remotePath, localPath) | + | Console.WriteLine( |
| + | ····························"File {0} exists, local backup {1} does not", | ||
| + | ···························remotePath, localPath) | ||
| download = True | download = True | ||
| Else | Else | ||
| - | Dim remoteWriteTime As DateTime = session.GetFileInfo(remotePath).LastWriteTime | + | Dim remoteWriteTime As DateTime = |
| + | ···························session.GetFileInfo(remotePath).LastWriteTime | ||
| Dim localWriteTime As DateTime = File.GetLastWriteTime(localPath) | Dim localWriteTime As DateTime = File.GetLastWriteTime(localPath) | ||
| If remoteWriteTime > localWriteTime Then | If remoteWriteTime > localWriteTime Then | ||
| - | Console.WriteLine( _ | + | Console.WriteLine( |
| - | "File {0} as well as local backup {1} exist, " & _ | + | "File {0} as well as local backup {1} exist, " & |
| - | "but remote file is newer ({2}) than local backup ({3})", _ | + | "but remote file is newer ({2}) than " & |
| + | "local backup ({3})", | ||
| remotePath, localPath, remoteWriteTime, localWriteTime) | remotePath, localPath, remoteWriteTime, localWriteTime) | ||
| download = True | download = True | ||
| Else | Else | ||
| - | Console.WriteLine( _ | + | Console.WriteLine( |
| - | "File {0} as well as local backup {1} exist, " & _ | + | "File {0} as well as local backup {1} exist, " & |
| - | "but remote file is not newer ({2}) than local backup ({3})", _ | + | "but remote file is not newer ({2}) than " & |
| + | "local backup ({3})", | ||
| remotePath, localPath, remoteWriteTime, localWriteTime) | remotePath, localPath, remoteWriteTime, localWriteTime) | ||
| download = False | download = False | ||
| Line 196: | Line 207: | ||
| UserName = "user" | UserName = "user" | ||
| Password = "mypassword" | Password = "mypassword" | ||
| - | SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" | + | SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..." |
| } | } | ||
| Line 236: | Line 247: | ||
| { | { | ||
| Write-Host ("File $remotePath as well as local backup $localPath exist, " + | Write-Host ("File $remotePath as well as local backup $localPath exist, " + | ||
| - | "but remote file is newer ($remoteWriteTime) than local backup ($localWriteTime)") | + | "but remote file is newer ($remoteWriteTime) than " + |
| + | "local backup ($localWriteTime)") | ||
| $download = $True | $download = $True | ||
| } | } | ||
| Line 243: | Line 255: | ||
| Write-Host ( | Write-Host ( | ||
| "File $remotePath as well as local backup $localPath exist, " + | "File $remotePath as well as local backup $localPath exist, " + | ||
| - | "but remote file is not newer ($remoteWriteTime) than local backup ($localWriteTime)") | + | "but remote file is not newer ($remoteWriteTime) than " + |
| + | "local backup ($localWriteTime)") | ||
| $download = $False | $download = $False | ||
| } | } | ||
| Line 269: | Line 282: | ||
| exit 0 | exit 0 | ||
| } | } | ||
| - | catch [Exception] | + | catch |
| { | { | ||
| Write-Host "Error: $($_.Exception.Message)" | Write-Host "Error: $($_.Exception.Message)" | ||
| Line 292: | Line 305: | ||
| sessionOptions.UserName = "user"; | sessionOptions.UserName = "user"; | ||
| sessionOptions.Password = "mypassword"; | sessionOptions.Password = "mypassword"; | ||
| - | sessionOptions.SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"; | + | sessionOptions.SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..."; |
| var session = WScript.CreateObject("WinSCP.Session"); | var session = WScript.CreateObject("WinSCP.Session"); | ||
| Line 318: | Line 331: | ||
| // transferOptions.FileMask = fileName; | // transferOptions.FileMask = fileName; | ||
| // session.SynchronizeDirectories( | // session.SynchronizeDirectories( | ||
| - | // SynchronizationMode_Local, localPath, remotePath, false, false, SynchronizationCriteria_Time, | + | // SynchronizationMode_Local, localPath, remotePath, false, false, |
| - | // transferOptions).Check(); | + | // SynchronizationCriteria_Time, transferOptions).Check(); |
| if (session.FileExists(remotePath)) | if (session.FileExists(remotePath)) | ||
| { | { | ||
| Line 325: | Line 338: | ||
| if (!fs.FileExists(localPath)) | if (!fs.FileExists(localPath)) | ||
| { | { | ||
| - | WScript.Echo("File " + remotePath + " exists, local backup " + localPath + " does not"); | + | WScript.Echo( |
| + | ····················"File " + remotePath + " exists, local backup " + localPath + " does not"); | ||
| download = true; | download = true; | ||
| } | } | ||
| Line 336: | Line 350: | ||
| { | { | ||
| WScript.Echo( | WScript.Echo( | ||
| - | "File " + remotePath + " as well as local backup " + localPath + " exist, " + | + | "File " + remotePath + " as well as local backup " + localPath + |
| - | "but remote file is newer (" + remoteWriteTime + ") than local backup (" + localWriteTime + ")"); | + | " exist, but remote file is newer (" + remoteWriteTime + ") than " + |
| + | "local backup (" + localWriteTime + ")"); | ||
| download = true; | download = true; | ||
| } | } | ||
| Line 343: | Line 358: | ||
| { | { | ||
| WScript.Echo( | WScript.Echo( | ||
| - | "File " + remotePath + " as well as local backup " + localPath + " exist, " + | + | "File " + remotePath + " as well as local backup " + localPath + |
| - | "but remote file is not newer (" + remoteWriteTime + ") than " + | + | ·······················" exist, but remote file is not newer (" + remoteWriteTime + ") than " + |
| - | "local backup local backup (" + localWriteTime + ")"); | + | "local backup (" + localWriteTime + ")"); |
| download = false; | download = false; | ||
| } | } | ||
| Line 398: | Line 413: | ||
| .UserName = "user" | .UserName = "user" | ||
| .Password = "mypassword" | .Password = "mypassword" | ||
| - | .SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx" | + | .SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..." |
| End With | End With | ||
| Line 434: | Line 449: | ||
| ' transferOptions.FileMask = fileName | ' transferOptions.FileMask = fileName | ||
| ' session.SynchronizeDirectories( _ | ' session.SynchronizeDirectories( _ | ||
| - | ' SynchronizationMode_Local, localPath, remotePath, false, false, SynchronizationCriteria_Time, _ | + | ' SynchronizationMode_Local, localPath, remotePath, false, false, _ |
| - | ' transferOptions).Check | + | ' SynchronizationCriteria_Time, transferOptions).Check |
| Dim download, remoteWriteTime, localWriteTime | Dim download, remoteWriteTime, localWriteTime | ||
| Line 450: | Line 465: | ||
| WScript.Echo _ | WScript.Echo _ | ||
| "File " & remotePath & " as well as local backup " & localPath & " exist, " & _ | "File " & remotePath & " as well as local backup " & localPath & " exist, " & _ | ||
| - | "but remote file is newer (" & remoteWriteTime & ") than local backup (" & localWriteTime & ")" | + | "but remote file is newer (" & remoteWriteTime & ") than " & _ |
| + | "local backup (" & localWriteTime & ")" | ||
| download = True | download = True | ||
| Else | Else | ||
| Line 456: | Line 472: | ||
| "File " & remotePath & " as well as local backup " & localPath & " exist, " & _ | "File " & remotePath & " as well as local backup " & localPath & " exist, " & _ | ||
| "but remote file is not newer (" & remoteWriteTime & ") than " & _ | "but remote file is not newer (" & remoteWriteTime & ") than " & _ | ||
| - | "local backup local backup (" & localWriteTime & ")" | + | "local backup (" & localWriteTime & ")" |
| download = False | download = False | ||
| End If | End If | ||