Các lệnh cơ bản khi làm việc với server
Sau một thời gian được động vào server, từ staging đến production mình thấy có vài lệnh cơ bản nên nắm vững và một số lệnh nên tránh sử dụng vì nếu dùng không cẩn thật sẽ rất dễ dẫn đến lỗi, đặc biệt là trên production. SCP là gì? SCP (Secure Copy – Sao chép an toàn) là một ứng dụng sử dụng ...
Sau một thời gian được động vào server, từ staging đến production mình thấy có vài lệnh cơ bản nên nắm vững và một số lệnh nên tránh sử dụng vì nếu dùng không cẩn thật sẽ rất dễ dẫn đến lỗi, đặc biệt là trên production.
SCP là gì?
- SCP (Secure Copy – Sao chép an toàn) là một ứng dụng sử dụng SSH để mã hóa toàn bộ quá trình chuyển tập tin.
- SCP là lệnh dùng để di chuyển file dữ liệu giữa các máy tính chạy hệ điều hành Linux từ xa chỉ cần biết địa chỉ ip
- SCP dùng ssh để di chuyển dữ liệu, có chế độ bảo mật giống như ssh.
Cài đặt scp
Scp có sẵn trong các bản dis của hệ điều hành Linux.Nếu chưa có , cài đặt như sau :
- Ubuntu/Debian : sudo apt-get install scp -y - Fedora/RedHat/Centos: yum install scp -y
Cài đặt gói ssh trên các máy cần trao đổi dữ liệu:(ubuntu server 12.04,Desktop 12.04)
sudo apt-get install -y openssh-server
Sử dụng scp
Cú pháp
Trên hệ điều hành linux:(Ubuntu 12.04): cú pháp sử dụng chuẩn:
scp [-pqrvBC46 ] [-F ssh_config ] [-S program ] [-P port ] [-c cipher ] [-i identity_file ] [-o ssh_option ] [[user@ ] host1 : file1 ] [... ] [[user@ ] host2 : file2 ]
Options:
-c : Chọn thuật toán mã hóa để sử dụng cho việc mã hóa việc truyền dữ liệu. -i : Lựa chọn các tập tin mà từ đó nhận dạng (khóa riêng) cho RSA xác thực được đọc -p : backup lại file gốc. -r : sao chép lại toàn bộ thư mục. -C : nén file trong khi thực hiện: -v : cung cấp thông tin chi tiết của quá trình. -1 : Forces scp to use protocol 1. -2 : Forces scp to use protocol 2.
Ví dụ:
Thông tin số các thiết bị:
* Máy local :
OS | Ubuntu-12.04 Desktop |
---|---|
ip | 192.168.1.14/24 |
* Máy remote:
OS | Ubuntu-12.04 Server |
---|---|
ip | 192.168.1.15/24 |
Đẩy file "example.txt" lên máy Remote /root:
scp example.txt root@'192.168.1.xxx':/root
Copy file "example.txt" từ remote host sang máy local/home/Desktop
scp root@:example.txt /home/Desktop
Copy toàn bộ thư mục backup về /home/Desktop
scp -r root@192.168.1.xxx:/root/backup /home/Desktop
Copy file "example.txt" từ máy local host sang máy remote host sử dụng port 2264:
scp -P 2264 example.txt root@192.168.1.xxx:/home/remote/
Sử dụng tail để làm gì?
Dùng để liệt kê các dòng cuối cùng trong một file. Trong trường hợp của tôi, tôi dùng nó để hiện thị file log server.
Cú pháp
tail -f log/log.txt
Lệnh này sẽ thấy được phần cuối của file và thấy cả phần thay đổi khi file được ghi thêm mới.
Vì sao nên dùng tail
Thay vì mở file một cách bình thường, ta nên sử dụng tail khi:
- File quá lớn mà ta chỉ muốn xem phần cuối.
- Cần xem cả phần sẽ được ghi thêm sau khi mở file.
Lệnh cat là gì?
Câu lệnh cat (viết tắt của từ tiếng anh concatenate) được dùng để hiển thị nội dung tập tin ra màn hình hoặc nối các tập tin với nhau và chuyển sang một tập tin khác.
Cú Pháp
Câu lệnh cat có cú pháp như sau:
cat [OPTION] [FILE]
Ví dụ: Hiển thị nội dung file send_mail.log:
$ cat log/send_mail.log
Hiển thị nội dung nhiều file:
$ cat log/send_mail_1.log log/send_mail_2.log
Hiện thi nội dung file cùng số dòng:
$ cat -n log/send_mail.log
Vì sao nên sử dụng cat
Ta nên sử dụng cat thay vì các lệnh vi khi:
- Chỉ muốn xem nội dung mà không cần chỉnh sửa file.
- Tránh những sai sót gây thay đổi file.
Như các bạn đã biết, rails hỗ trợ mở rails console dưới hình thứ sandbox, tức là mọi câu lệnh gây thay đổi dữ liệu đều sẽ được rollback khi thoát khỏi rails console. Trên môi trường development thì đây là một câu lệnh rất hữu ích, để ta tránh những thay đổi không mong muốn hoặc muốn thử một vài câu lệnh trong rails console mà chưa biết nó sẽ chạy như thế nào. Tuy nhiên, để có thể thực hiện việc rollback toàn bộ khi thoát khỏi rails console --sandbox, câu lệnh này cũng thực hiện khóa các kết nối đến cơ sở dữ liệu từ các đường khác. Tức là ta chỉ có thể tác động đến cơ sở dữ liệu khi đang ở trong chính rails console. Các đường khác đều bị chặn. Chính vì thế sẽ dẫn đến ảnh hưởng rất nghiêm trọng là người dùng không thể tác động đến cơ sở dữ liệu. Đồng nghĩa với việc các chức năng thêm sửa xóa sẽ bị lỗi.