Nội dung

Script backup toàn bộ website trên vps Ubuntu

3 năm trước, Cài đặt VPS, Ubuntu, 1404 Lượt xem

Đăng ký cập nhập video từ netweb.vn

Tạo file backup.sh ở thư mục /root/

Full script backup vps

nano /root/backup.sh
# Backup plugin netweb.vn - Backup Server

#!/bin/bash

SERVER_NAME=VPS

TIMESTAMP=$(date +"%Y-%m-%d_%H-%M")
BACKUP_DIR="/var/backup/$TIMESTAMP"
MYSQL_USER="userMYSQL"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD=passMYSQL
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0

mkdir -p "$BACKUP_DIR/mysql"

echo "Starting Backup Database";
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)"`

for db in $databases; do
	$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
echo "Finished";
echo '';

echo "Starting Backup Website";
#Loop through /home directory
for D in /var/www/*; do
	if [ -d "${D}" ]; then #If a directory
		domain=${D##*/} # Domain name
		echo "- "$domain;
		zip -r $BACKUP_DIR/$domain.zip /var/www/$domain/ -q -x /var/www/$domain/wp-content/cache/**\* #Exclude cache
	fi
done
echo "Finished";
echo '';

echo "Starting Backup ngin Configuration";
cp -r /etc/nginx/sites-enabled/ $BACKUP_DIR/nginx/
echo "Finished";
echo '';

echo "Starting Compress Files";
zip -r /var/backup/$SERVER_NAME-$TIMESTAMP.zip $BACKUP_DIR -q
rm -rf $BACKUP_DIR
size=$(ls -lah /var/backup/$SERVER_NAME-$TIMESTAMP.zip | awk '{ print $5}')
echo "Finished";
echo '';

#Remove older backups (5 days)
find /var/backup/ -mindepth 1 -mtime +5 -delete

duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."

– Phân quyền cho script

chmod +x /root/backup.sh


– Vậy là xong rồi đó, giờ bạn có thể test lại bằng cách chạy lệnh /root/backup.sh

Xong, kiểm tra trong thư mục /var/backup có file backup .ZIP chưa nhé

  1. Tạo cronjob tự động backup hàng ngày
    Giờ mình sẽ cho script tự động chạy lúc 2h00 sáng

vào tạo crontab

crontab -e

Dán nội dung sau vào cửa sổ Terminal

0 2 * * * /root/backup.sh

Bài viết mới cập nhập

  • Hướng dẫn Plugin floating contact

    Hướng dẫn Plugin floating contact

    10 tháng trước, 338 Lượt xem

    Netweb xin hướng dẫn cách quản lý Plugin floating contact các bạn nhớ làm theo kỹ tường bước để plugin hoạt động Tính năng: Hiển…

  • Backup Yandex Mail

    Backup Yandex Mail

    12 tháng trước, 229 Lượt xem

    Khác với dịch vụ email theo tên của microsoft và google với chi phí đắt đỏ tầm 1tr/năm/1user, vì thế nên netweb khuyên dùng dịch…

Bình luận trên facebook netweb.vn

Đam mê thiết kế web, kinh nghiệm 9 năm trong nghề thiết kế website, đang thiết kế web dạo tại netweb.vn, Callme: 08.9898.2526 (Mr Hải)