• About Us
  • Contact
  • Trang chủ
  • Code
  • Linux
  • Virtualization
  • Mail
No Result
View All Result
System Zone
No Result
View All Result
Home Linux

Hướng dẫn viết script sync dữ liệu giữa 2 VPS linux qua SSH key

admin by admin
22 Tháng 9, 2025
in Linux
0
0
SHARES
4
VIEWS
Share on FacebookShare on Twitter

Chuẩn bị:

VPS A: Dữ liệu cần chuyển đi.

Related Posts

Hướng dẫn cài đặt MongoDB 5 trên centos 7

Hướng dẫn resize ổ cứng bằng Gparted trên centos 7

Fix error: kernel: nf_conntrack: table full, dropping packet

Cấu hình IP tĩnh trên ubuntu 20.04

VPS B: Dữ liệu sẽ chuyển đến đây.

Folder cần chuyển:

VPS A: /backup

sang

VPS B: /backup1

Các bước thao tác

Bước 1: Tạo SSH key trên A và add public key vào B.

Tạo cặp key trên A

ssh-keygen -t rsa -b 4096

Sau khi tạo xong thì dùng lệnh sau để add public key vào B

root@A:~# ssh-copy-id -i /root/.ssh/id_rsa.pub -p <Port SSH của B> root@<IP của B>

 

Sau đó test bằng lệnh ssh trực tiếp nếu không cần nhập password thì đã add thành công.

root@A:~# ssh -p <Port SSH của B> root@<IP của B>

 

Bước 2: Tạo script chuyển dữ liệu từ A sang B bắn thông báo về telegram

vi /root/backupserver.sh

#!/bin/bash

# ============================
# Config
# ============================
SRC_DIR="/backup/"
DEST_DIR="/backup1/"
REMOTE_USER="root"
REMOTE_HOST="<IP của B"
REMOTE_PORT="<Port của B>" # nếu port khác thì sửa lại

# Telegram Bot config
BOT_TOKEN="<API bot telegram>"
CHAT_ID="<nhóm chat telegram>"

# ============================
# Sync dữ liệu
# ============================
rsync -avz -e "ssh -p $REMOTE_PORT" "$SRC_DIR" ${REMOTE_USER}@${REMOTE_HOST}:"$DEST_DIR"
STATUS=$?

# ============================
# Gửi thông báo Telegram
# ============================
if [ $STATUS -eq 0 ]; then
MSG="Sync thành công config $(hostname) → ${REMOTE_HOST}
📂 Thư mục: $SRC_DIR → $DEST_DIR
🕒 Thời gian: $(date '+%Y-%m-%d %H:%M:%S')"
else
MSG="❌ Sync thất bại config: $(hostname) → ${REMOTE_HOST}
📂 Thư mục: $SRC_DIR → $DEST_DIR
🕒 Thời gian: $(date '+%Y-%m-%d %H:%M:%S')"
fi

curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
-d chat_id="${CHAT_ID}" \
-d text="$MSG" >/dev/null

 

Phân quyền thực thi cho file backupserver.sh

chmod +x /root/backupserver.sh

Test thử script xem có hoạt động không.

./backupserver.sh

 

 

Nếu thành công thì thông báo sẽ bắn về telegram.

 

Bước 3: Tạo cron backup 2 a.m sáng mỗi ngày

crontab -e

0 2 * * * /root/backupserver.sh >> /var/log/backupserver.log 2>&1

 

Tags: backupScriptssh keysync dữ liệu
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Đăng nhập
Thông báo của
guest
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Bài viết mới

  • Hướng dẫn viết script sync dữ liệu giữa 2 VPS linux qua SSH key
  • Hướng dẫn cài đặt MongoDB 5 trên centos 7
  • Hướng dẫn resize ổ cứng bằng Gparted trên centos 7
  • Hướng dẫn fix lỗi không build được php 8.0 trên Directadmin
  • Hướng dẫn thêm tên miền phụ trong Gsuite

Danh mục

  • Directadmin (1)
  • Gsuite (1)
  • Kiếm tiền Online (2)
  • Kiss Daily Talk (3)
  • Lập trình web (20)
  • Learning More (2)
  • Linux (19)
  • Mail (4)
  • Mongo DB (1)
  • Window (2)
  • Xâm nhập thế giới hacker (4)

Bài viết mới

  • Hướng dẫn viết script sync dữ liệu giữa 2 VPS linux qua SSH key
  • Hướng dẫn cài đặt MongoDB 5 trên centos 7
  • Hướng dẫn resize ổ cứng bằng Gparted trên centos 7
  • Hướng dẫn fix lỗi không build được php 8.0 trên Directadmin
  • Hướng dẫn thêm tên miền phụ trong Gsuite
  • Mail
  • Virtualization
  • Lập trình web
  • Linux Administrator
  • Learning More

© 2025 SystemZone - Premium WordPress news & magazine theme by Aitemat.

No Result
View All Result
  • About Us
  • About Us
  • blog
  • Campaign
  • Cart
  • Checkout
  • Cửa hàng
  • Giỏ hàng
  • Giới thiệu
  • Home 2
  • IT STORY
  • Lập trình web
  • Learning More
  • Linux Administrator
  • Mail
  • My account
    • Wishlist
  • Privacy Policy
  • Sample Page
  • Thanh toán
  • Track your order
  • Trang chủ
  • Trang Mẫu
  • Virtualization
  • Sections
  • Rows / Columns
  • Sliders
  • Buttons
  • Titles / Dividers
  • Blog Posts
  • Mega Shop
  • Simple Slider
  • Banner Grids
  • Icon Box
  • Lightbox
  • Scroll To
  • Pages
    • About
    • Contact
    • FAQ
    • Portfolio
  • Map
  • Message box
  • Product Categories
  • Products
  • Share / follow icons
  • Tabs
  • Team Member
  • Testimonials

© 2025 SystemZone - Premium WordPress news & magazine theme by Aitemat.

wpDiscuz
0
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
()
x
| Trả lời