Nội dung

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

4 tháng trước, Cài đặt VPS, Ubuntu, 313 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

  • Cách tải lên tệp WebP trên WordPress

    Cách tải lên tệp WebP trên WordPress

    13 giờ trước, 762 Lượt xem

    Hi chào các bạn! hôm này làm dự án khách hàng đụng cái không upload được hình đuôi .WebP, hôm nay mình sẽ hướng dẫn…

  • Tạo user trên Directadmin

    Tạo user trên Directadmin

    2 ngày trước, 54 Lượt xem

    Trong bài viết hôm nay, netweb sẽ hướng dẫn các bạn tạo user hosting trên DirectAdmin. Tạo user trên Directadmin Để tạo user trên Directadmin…

  • Cách thay đổi cổng SSH trên Linux Ubuntu 20.04

    Cách thay đổi cổng SSH trên Linux Ubuntu 20.04

    4 ngày trước, 660 Lượt xem

    Cổng mặc định cho SSH trên hệ thống Linux là 22. Có một vài lý do khiến bạn có thể muốn thay đổi cổng này thành một số khác. Nếu nhiều máy…

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)