TIP #16: tar + ssh: Backup dữ liệu khi không còn dung lượng ổ cứng trống

07/03/2020

Thông thường, quy trình backup sẽ tạo file nén chứa dữ liệu trên server cần backup (server-app), sau đó sẽ chuyển file nén này về server lưu trữ (server-backup). Tuy nhiên, nếu trường hợp server-app không còn đủ ổ cứng để chứa file backup tạo ra thì phải làm sao? Không tạo được file backup thì làm sao copy về server-backup? Ngoài cách sử dụng tar + nc (TIP #15), bạn có thể dùng tar + ssh thuận tiện hơn như sau:

Trên server-app, chạy lệnh:

$ tar czvf - /home/app-dir/ | ssh user@server-backup "cat > /backup/app_backup.tar.gz"

Giải thích:
– tar czvf – /home/app-dir/: nén thư mục và ghi kết quả ra stdout
– ssh user@server-backup “cat > /backup/app_backup.tar.gz”: chuyển stdout của lệnh tar thành stdin của lệnh cat trên server-backup và ghi kết quả vào file /backup/app_backup.tar.gz trên server