Hướng dẫn tự động sao lưu cơ sở dữ liệu (database) định kỳ trên host Linux

huong tu dong sao luu database

Trong bài viết này tôi sẽ chia sẻ cho các bạn đang quản lý hosting Linux muốn tự dộng sao lưu cơ sở dữ liệu database định kỳ (mỗi ngày, mỗi tuần, mỗi tháng,...). Thường thì một số hosting có sẵn chức năng backup để sao lưu định kỳ không chỉ database mà còn sao lưu luôn cả source web. Nhưng đỗi với một trang có nguồn tài nguyên quá lớn thì cách sao lưu cả source web sẽ làm tốn bộ nhớ của host hoặc khi sao lưu sẽ ảnh thưởng đến web dang hoạt động.

Dưới đây sẽ là cách giúp bạn chỉ sao lưu cơ sở dữ liệu mỗi ngày.

Bước 1: Tạo 1 file backup.sh trên đường dẫn thư mục của user "/home/user/backup.sh". Sao chép nội dung bên dưới vào file và nhập cấu hình thông tin sao lưu database và lưu lại.

# Thông tin Database
 user="Tên user database"
 password="Mật khẩu user database"
 db_name="Tên database"
# Đường dẫn lưu file sao lưu và thời gian để tạo tên file
 backup_path="/home/user/backup"
 date=$(date +"%d-%m-%Y")
# Cấu hình quyền file được tạo
 umask 177
# Lệnh chạy sao lưu thành file .gz
 mysqldump -u $user -p$password $db_name | gzip > $backup_path/$db_name-$date.sql.gz

# Xóa các file sao lưu quá 30 ngày
# find $backup_path/* -mtime +30 -exec rm {} \;

Bước 2: Cấu hình Cronjob thêm dòng lệnh command sau với thời gian muốn sao lưu định kỳ:

bash /home/user/backup.sh

Tham khảo thời gian cấu hình chạy lệnh command hình bến dưới,

thoi gian scronjob

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng

Cách khắc phục lỗi hiển thị code tiếng việt trên DirectAdmin

directadmin

Giao diện quản lý trên DirectAdmin

Chào các bạn,

DirectAdmin hay còn được gọi DA, là trình quản lý file được xây dựng trên nền tảng Linux phục cho mục đích quản trị máy chủ website chia sẻ (shared hosting). Nhà cung cấp máy chủ sau khi cài DirectAdmin cho khách hàng sử dụng, các khách hàng thường gặp phải vấn đề lỗi hiển thị code có chứa tiếng việt (tiếng việt bị lỗi font chữ). Nguyên nhân do sử dụng gói English (en) của DirectAdmin mặc định không sử dụng bảng mã UTF-8 nên không hỗ trợ ngôn ngữ tiếng việt.

Để khắc phục vấn đề này, các bạn làm theo các bước sau:

Bước 1: Sử dụng SSH đăng nhập vào VPS bằng tài khoản root.

Bước 2: Di chuyển vào thư mục chứa gói ngôn ngữ của DirectAdmin.

cd /usr/local/directadmin/data/skins/enhanced/lang/en

Bước 3: Tiến hành chỉnh sửa file lf_standand.html

vi lf_standand.html

Các bạn tìm đoạn code:

LANG_ENCODING=iso-8859-1

Và sửa lại như sau:

LANG_ENCODING=UTF-8

Một số gợi ý các phím cho các bạn thực hiện bước 3:
- Sử dụng cách tùy chỉnh nội dung dạng text:
+ Insert : bấm phím insert để tùy chỉnh nội dung như viết file text.
+ Esc : bấm phím esc để thoát khỏi tùy chỉnh nội dung (insert).
- Các phím tùy chỉnh ngoài phím insert:
+ dd : Xóa một dòng ngay con trỏ.
+ 5dd : Xóa 5 dòng tính từ con trỏ trở xuống.
+ r : Thay thế 1 ký tự
+ x : Xóa 1 ký tự, phím này tương đương với phím delete.
+ 5x : Xóa 5 ký tự.
+ u : Hoàn tác thao tác đã thực hiện.
- Thực hiện lưu và thoát khỏi file.
+ :q : Thoát.
+ :q! : Thoát và không lưu lại.
+ :wq : Lưu lại và thoát.
+ :w : Lưu lại chỉnh sửa.
+ :e! : Tải lại nội dung file.
- Lệnh khác:
:w test.txt : Viết thêm vào file test.txt.
:e test2.txt : Mở file test2.txt

Bước 4: Thực hiện lưu và thoát

Đến đây các bạn hoàn tất việc chuyển sang bảng mã UTF-8 cho gói ngôn ngữ english trên DirectAdmin. Kể từ giờ bạn sẽ không rặp phải lỗi tiếng việc khi chỉnh sửa code trên DirectAdmin.

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng

Các lệnh thông dụng để quản trị host Linux

quan-tri-host-linux

 

Các lệnh kiểm tra performance

  • cat /proc/cpuinfo : hiển thị thông tin CPU
  • cat /proc/meminfo : hiển thị thông tin về RAM đang sử dụng
  • cat /proc/version : hiển thị phiên bản của kernel
  • cat /etc/redhat-release : hiển thị phiên bản Centos
  • uname -a : hiển thị các thông tin về kernel 
  • free -m : hiển thị lượng RAM còn trống
  • df -h : hiển thị thông tin những file hệ thống nơi mỗi file thường trú hoặc tất cả những file mặc dịnh và lệnh này có thể xem được dung lượng ổ cứng đã sử dụng và còn trống bao nhiêu.
  • du -sh : xem dung lượng của thư mục hiện tại
  • du -ah : xem chi tiết dung lượng của các thư mục con, và cả các file
  • du -h --max-depth=1 : xem dung lượng các thư mục con ở cấp 1 (ngay trong thư mục hiện tại)
  • df  : kiểm tra dung lượng đĩa cứng, các phân vùng đĩa top hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.

 

Các lệnh hệ thống

  • exit : thoát khỏi cửa sổ dòng lệnh.
  • logout : tương tự exit.
  • reboot : khởi động lại hệ thống.
  • halt : tắt máy, có thể dùng shutdown -h now để tắt máy, shutdown -r để reboot. Hoặc dùng các lệnh "thủy tổ" của linux là init 0 để shutdown hoặc init 6 để reboot
  • startx : khởi động chế độ xwindows từ cửa sổ terminal.
  • clear : xoá trắng cửa sổ dòng lệnh.
  • cal : xem lịch hệ thống.
  • yum update –y : Update Linux (cent os)
  • date : xem ngày, giờ hệ thống.
  • date –s “27 SEP 2011 14:26:00” : Đặt ngày giờ hệ thống theo string
  • date +%Y%m%d -s “20130318″ : Đặt ngày hệ thống (không thay đổi giờ)
  • date +%T -s “00:29:00″ : Đặt giờ hệ thống, không thay đổi ngày

Note: Thông thường các máy chủ linux tự update giờ từ time server, vì vậy thường có hiện tượng là khi chúng ta đổi giờ bằng lệnh date mà không đổi time zone thì hệ thống sau đó sẽ tự điều chỉnh lại giờ. Để có giờ hiển thị chính xác ta cần đổi time zone bằng các lệnh như sau: 

# cp /etc/localtime /etc/localtime.old (copy backup file lưu trữ local time)

# ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime (Đổi time zone sang giờ Việt Nam)

 

Lệnh thao tác với tập tin text

  • wc : đếm số dòng, số kí tự… trong tập tin
  • touch : tạo một tập tin.
  • cat : xem nội dung tập tin.
  • vi : khởi động trình soạn thảo văn bản vi.
  • man : Xem hướng dẫn thực hiện các lệnh.
  • tar -cvzpf archive.tgz /home/example/public_html/folder : nén một thư mục
  • tar -tzf backup.tar.gz : liệt kê file nén gz
  • tar -xvf archive.tar : giải nén một file tar
  • unzip file.zip : giải nén file .zip

 

Lệnh quản lí ứng dụng và tiến trình

  • rpm : kiểm tra, gỡ bỏ hoặc cài dặt 1 gói.
  • ps : kiểm tra hệ thống tiến trình đang chạy.
  • kill : dừng tiến trình khi tiến trình bị treo.
  • pstree : hiển thị tất cả các tiến trình dưới dạng cây.
  • sleep : cho hệ thống ngừng hoạt động trong một khoảng thời gian.
  • yum : Cài đặt các ứng dụng đóng gói (giống rpm).
  • wget : Tải các ứng dụng từ một website về.
  • sh : Chạy một ứng dụng có đuôi .sh

 

Lệnh quản lý user

  • useradd : tạo một người dùng mới.
  • groupadd : tạo một nhóm người dùng mới.
  • passwd : thay đổi password cho người dùng.
  • userdel : xoá người dùng đã tạo.
  • groupdel : xoá nhóm người dùng đã tạo.
  • gpasswd : thay đổi password của một nhóm người dùng.
  • su : cho phép đăng nhập với tư cách người dùng khác.
  • groups : hiển thị nhóm của user hiện tại.
  • who or w : cho biết ai đang đăng nhập hệ thống.
  • skill -9 –t pst/0 : để gỡ bỏ session pst/0
  • xem danh sách user: #vi /etc/passwd
  • xem danh sách nhóm: #vi /etc/group
  • chmod 777 [tên file] thay đổi quyền cho file/thư mục (chỉ user sở hữu file mới thực hiện được)
  • chown user [tên file] thay đổi chủ sở hữu file/thư mục
  • chown user:group [tên file] thay đổi chủ sở hữu file/thư mục, đồng thời thay đổi nhóm sở hữu.

 

Lệnh quản lý service

  • service --status-all : Kiểm tra tất cả các service và tình trạng của nó.
  • service mysql stop shutdown : dịch vụ mysql.
  • service httpd start : khởi động dịch vụ httpd.
  • whereis mysql : hiển thị nơi các file dịch vụ được cài đặt.
  • service --status-all | grep abc : xem tình trạng của tiến trình abc
  • service start | stop | restart
  • /etc/init.d/ start | stop
  • netstat - plnt kiểm tra xem các dịch vụ đang sử dụng cổng mạng nào có thể kết hợp với grep như sau
  • netstat -plnt | grep : 25 (Kiểm tra xem dịch vụ nào đang sử dụng cổng 25)

Ví dụ:
service mysql stop
/etc/init.d/mysqld start

 

Các lệnh quản lý file và thư mục

  • ls : xem danh sách các file và thư mục con trong thư mục hiện thời
  • ls -l : như trên, nhưng liệt kê cả kích thước file, ngày cập nhật...
  • rm : xóa file
  • rmdir : xóa thư mục
  • rm -rf : xóa thư mục không rỗng.
  • mv move : thư mục hoặc file từ nơi này sang nơi khác
  • cp : copy file hoặc thư mục

Ngụy kim Hưng