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
- 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”
echozip -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ế:
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!