Tạo backup web data bằng lệnh với centos 7

Hey các chế, việc backup web là rất cần thiết, tránh 1 ngày đẹp giời bị hacker nó xóa hết cả code lẫn DB 🙂 . Việc triển khai web service trên centos tôi đã giới thiệu trong bài trước rồi, giờ xong ta làm backup tí cho nó mượt.

Trong bài bày script backup này giúp các bạn nén data +code web vào thành file backup-[dd/mm/yy]-[webname].zip và lưu nó vào thư mục theo ngày: /home/bk_code/dd-mm-yy/ một cách dễ dàng.

Nội dung của bài này gồm 2 phần:

  • Tạo script backup tự động tạo ra các file backup cho các bạn
  • Thiết lập chạy script tự động hàng ngày bằng crontab
  1. Tạo scrip backup

Đầu tiên chúng ta sẽ tạo một file có tên là backupcode để trong  thư mục /bin

vi /bin/backupcode

Nội dung file như sau:

#!/ bin/bash
backup_folder=$1
dest_folder=$2
bk_name=$3
ngay=$(date +%d-%m-%Y)
file_name=”backup-$bk_name-$ngay”
mkdir $dest_folder/$ngay
echo “Thuc hien backup du lieu tai $backup_folder va luu vao $dest_folder/$ngay”
echo

zip -r $dest_folder/$ngay/$file_name $backup_folder > /dev/null
echo
echo “Success!”
echo “Ten file backup: $file_name”
echo “File backup da duoc luu tai: $dest_folder/$ngay”
ls -al $dest_folder/$ngay
cd ~
echo

Xong ta chmod cho file vừa tạo:

chmod 755 /bin/backupcode

Để backup ta gõ lệnh như sau:

Cấu trúc lệnh backup là:

backupcode [thư mục cần backup]   [thư mục lưu file backup]  [tên file backup muốn đặt]

Ví dụ để backup thư mục /var/html/web1 sau đó lưu file backup vào thư mục /home/bk_code   và đặt tên file backup là web1 thì ta làm như sau:

backupcode /var/html/web1/ /home/bk_code web1

Giả sử có 2 web ta chạy 2 lệnh:

backupcode /var/html/web1/ /home/bk_code web1

backupcode /var/html/web2/ /home/bk_code web2

Lúc này nó sẽ nén 2 thư mục web1 và web2 vào trong thư mục /home/code/ngay-thang-nam/web1.zip

2. Để tạo tự động backup với script trên Các bạn có thể dùng crontab như sau:

Trong cửa sổ lệnh ta gõ:

crontab -e

Giả sử bạn cho hệ thống tự chạy script backup web1 và web2 vào lúc 18h00 hàng ngày ta gõ như sau:

* 18 * * * backupcode /var/www/html/web1/ /home/code web1

* 18 * * * backupcode /var/www/html/web2/ /home/code web2

Sau đó ta lưu lại. vậy là cứ đến 18h hằng ngày nó sẽ thực hiện backup code data 2 cái web cho bạn. Gối cao đầu mà ngủ thôi. Nói thế thôi chưa ngủ được đâu nhé 🙂 .

Bài sau tôi hướng dẫn các bạn cách backup CSDL MySQL với crontab. ok bibibi

Xem video hướng dẫn backup script  nhé các chế:

About Liêm Phan 130 Articles
Mình lập blog này với mục đích lưu lại + chia sẻ các các kiến thức mình đã biết hoặc đang tìm hiểu. Cơ bản giúp ích cho mình :) Nhưng hy vọng sẽ mang lại sự khởi đầu thuận lợi cho người mới bắt đầu!