Khi sử dụng hệ điều hành Linux thì chỉ sử dụng lệnh command để thực hiện các việc như: copy, cut, delete… các file hoặc thư mục trên cùng một server. Vậy để copy file giữa 2 server Linux thì có thể sử dụng các phần mềm hổ trợ các giao thức SFTP, FTP,..
Ngoài việc sử dụng phần mềm hổ trợ thì có thể dùng lệnh trực tiếp trên server để copy file. Các câu lệnh thường được sử dụng là: sftp, rsync, scp, sshfs,…
Bài viết này sẽ hướng dẫn câu lệnh cơ bản của 3 lệnh thường xuyên sử dụng là: scp, rsync, sftp
SCP là viết tắt của “Secure Copy” được sử dụng để sao chép thư mục và file giữa các server Linux một cách an toàn. Lệnh SCP cho phép sao chép giữa các server nội bộ và các server public. Nó sử dụng cùng một xác thực và bảo mật như được sử dụng trong giao thức Secure Shell (SSH). SCP được biết đến với tính đơn giản, bảo mật và tính sẵn sàng.
scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 … [[user@]host2:]file2
Ví dụ:
Sao chép một file
root@debian:~# scp –P 22 /usr/src/tel4vn/config.txt centos@192.168.2.220:/home/centos/
Sao chép thư mục
root@debian:~# scp –P 22 -r /usr/src/tel4vn centos@192.168.2.220:/home/centos/
Rsync (Remote Sync) là một công cụ dùng để sao chép và đồng bộ file, thư mục được dùng rất phổ biến. Rsync cho phép sao chép và giữ nguyên các thông số của file, thư mục đó như: Symbolic links, Permissions, TimeStamp, Owner và Group. Rsync nhanh hơn scp vì nó chỉ đồng bộ dữ những dữ liệu thay đổi chứ không sao chép những dữ liệu đã có. Sử dụng phương pháp nén và giải nén dữ liệu nên giảm được băng thông của server.
Lệnh rsync thường được dùng chung với crontab để đồng bộ dữ liệu vào một thời điểm trong ngày.
rsync [OPTION]… SRC [SRC]… DEST
Copy file giữa 2 server
root@debian:~# rsync -avz /usr/src/tel4vn/phong1.tar.gz centos@192.168.2.220:/home/centos/
Copy thư mục
root@debian:~# rsync -avzh /usr/src/tel4vn centos@192.168.2.220:/home/centos/
File Transfer Protocol (FTP) là giao thức được sử dụng rộng rãi để truyền tệp hoặc dữ liệu từ xa ở định dạng không được mã hóa, đây là giao thức không an toàn vì dữ liệu không được mã hóa trong quá trình truyền tải.
SFTP ( Secure File Transfer Protocol ) chạy qua giao thức SSH trên cổng tiêu chuẩn 22 theo mặc định để thiết lập kết nối an toàn. SFTP đã được tích hợp vào nhiều công cụ GUI ( FileZilla, WinSCP, FireFTP,…)
sftp [-1246aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher] [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-R num_requests] [-S program] [-s subsystem | sftp_server] host
Hiển thị những lệnh có thể sử dụng:
sftp> ? Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing
Kiểm tra thư mục hiện tại trên server và trên server ftp:
sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /tel4vn/
Liệt kê các file và thư mục:
Di chuyển giữa các thư mục:
Tải file lên server ftp:
sftp> put tel4vn.txt Uploading local.profile to /tel4vn/tel4vn.txt
Tải lên nhiều file:
sftp> mput *.txt
Tải về 1 file:
sftp> get tel4vn.txt
Tải về nhiều file:
sftp> mget *.xls
Để thoát khỏi SFTP dùng lệnh:
sftp> !
Thông thường sử dụng các phần mềm hổ trợ SFTP vừa tiện lợi vừa dễ sử dụng.
Thông tin khóa học Linux: tại đây
Powered by BetterDocs
Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Ghi nhớ tôi
Chưa đăng ký? Đăng ký
Bạn đã đăng ký? Đăng nhập ngay