EVNSPC với chuyển đổi số

Giới thiệu giải pháp sao lưu, đồng bộ file và thư mục

  • 20:34 - 29/11/2020
  • 1575

Nhằm mục đích chia s kinh nghiệm trong công tác sao lưu, phục hồi các nguồn dữ liệu của cá nhân nói riêng và các nguồn dữ liệu của Tổng công ty Điện lực miền Nam nói chung, Công ty CNTT (SPCIT) hướng dẫn giải pháp đồng bộ file, thư mục bằng phần mềm WinSCP. Giải pháp đưa ra với giả định cần backup hoặc synchonize thư mục từ source đến target hoặc từ target đến source, trong đó target là thư mục được đặt ở FTP hoặc SFTP hoặc SCP.

Hiện nay có rất nhiều công cụ để đồng bộ như: FTPVoyager, SyncBackPro, WinScp..., tuy nhiên đa phần là có phí, nếu sử dụng miễn phí thì có FTPVoyager của hãng Solarwinds nhưng tốc độ copy dữ liệu khá chậm, SyncBackPro thì phải mất phí. Trong các phần mềm miễn phí có WinScp là chương trình dùng để copy dữ liệu với tốc độ nhanh, giao diện đơn giản và có đầy đủ tài liệu, chỉ cần đọc tài liệu và lập lịch trong windows/linux thì chúng ta có thể biến WinScp thành một công cụ hữu ích trong việc tự động đồng bộ  file cũng như thư mục chúng ta mong muốn. Sau đây hướng dẫn chi tiết:

Để thực hiện đầu tiên ta phải có phần mềm WinSCP, vào trang https://winscp.net/eng/download.php vào mục Download, phiên bản hiện tại là 5.17 (như hình dưới)

 

Tiếp theo ta chọn [Other Download], mình thường sử dụng WinScp dạng file portable để không cần cài đặt, tìm đến mục [Portable executable] và bấm nút download

Sau khi download về ta giải nén đến một thư mục cần làm việc, tuy nhiên cần sửa lại đường dẫn trong file script phía dưới, ở đây mình giải nén đến ổ D:\Softs\WinScp (như hình)

 

Bước tiếp theo là viết script file để thực thi, tạo một file có tên [winscpput.txt], sau đó gõ các dòng lệnh sau (gõ sau dấu nháy):

open ftp://user_ftp:pass_ftp@ip_ftp

synchronize remote [Source]  [Target]

exit

Thay thế các thông tin user_ftp, pass_ftp, ip_ftp bằng các thông tin tương ứng. Trong đó [Source] là thư mục cần backup, [Target] là nơi lưu trữ backup. Lưu file này vào thư mục D:\Softs\WinScp\Script. Ở đoạn lệnh trên nếu ta thay synchronize remote thành synchronize local thì sẽ chép file từ target về source.

Tiếp theo tạo file có tên [ScriptPut.bat] và open with file bằng notepad, sau đó gõ các lệnh sau (gõ sau dấu nháy):

echo off

setlocal

set year=%date:~10,4%

set month=%date:~4,2%

set day=%date:~7,2%

set h=%time:~0,2%

set h=%h: =0%

set m=%time:~3,2%

set filename=log_%year%%month%%day%%h%%m%.txt

"D:\Softs\WinSCP\winscp.com" /script=D:\Softs\WinScp\Script\winscpput.txt >> D:\Soft\Winscp\logs\%filename%

Lưu file này trong ổ D:\Softs\WinScp\Script. Lưu ý ta cần tạo thư mục [logs] trong ổ D:\Soft\Winscp\logs, mục đích khi WinScp thực thi sẽ tạo file log, chúng ta có thể đọc file log này để xác định xem tình hình đồng bộ, các lỗi.

Bước tiếp theo ta bấm vào file [ScriptPut.bat] để chạy thử, kiểm tra kết quả bằng cách xem log file trong thư mục [logs].

Để tự động hóa trong việc đồng bộ, ta tiến hành lập lịch (Scheduler) trong windows, trong quá trình lập lịch khi đến bước [Start Program] ta trỏ đến file [ScriptPut.bat] mà ta tạo lúc nãy.

 

Ngoài ra cần cho phép chạy task scheduler chạy với quyền cao nhất và không cần hỏi password. Bấm OK để kết thúc. Như vậy chúng ta đã lập xong một task tự động thực thi vào thời gian mà đã lập lịch.

Trên đây là các bước cơ bản để thực hiện việc backup, đồng bộ giữa 2 thư mục source và target, người dùng có thể vào trang https://winscp.net/eng/docs/start để tìm hiểu thêm các lệnh command line và gắn vào script trên.

Phan Bạch Nhựt - SPCIT
Đánh giá bài viết

Bài viết liên quan