Cách nén một thư mục thành file zip bằng câu lệnh ssh cực đơn giản. Zip một folder trên VPS qua lệnh SSH như thế nào

Nén một thư mục bất kỳ thành file .ZIP
zip -r filename.zip thu_muc/
Trong đó
- filename.zip là tên file zip sau khi nén
- thu_muc là tên folder cần nén
Nén tất cả các file trong thư mục hiện tại
zip -r ten_file.zip .
Loại trừ 1 hoạc nhiều thư mục và file trong đó khi nén
zip -r filename.zip . -x folder1/\* -x folder2/\* -x folder3/\*
Nếu bạn đang quản trị VPS, thì mình đã có bài tổng hợp các lệnh thường dùng trong linux . Hãy tham khảo nha!
Các loại trừ khác: File, extendtion, name
exclude all files beginning with a dot
do it like: (.htaccess…)
-x .\*
Loại trừ những file có dấu chấm (.) trong tên
do it like:
-x \*.\*
exclude all zip-Files
do it like:
-x \*.zip
Nén Những File Mới / Cũ Hơn Ngày Nào Đó
Cách chỉ nén (zip) những file mới được chỉnh sửa (upload, modify) . Hay những file đã được upload trước một ngày cụ thể thì dùng lệnh sau:
find /duong-dan-patch/folder -type f -mtime -15 | zip -@ 15ngay-gan-nhat.zip
Diễn giải chút
Lệnh trên sẽ tìm (find) ra những file được chỉnh sửa trong vòng 15 ngày gần nhất (-mtime -15) và nén chúng lại. Nếu bạn muốn Chỉ nén file cũ hơn 1 tuần trước (7 ngày từ ngày hôm nay) thì dùng option: -mtime +7 .
Tất nhiên bạn có thể kết hợp cả hai như sau:
find /duong-dan-patch/folder -type f -mtime -10 - mtime +7 | zip -@ 2ngay-cach-hom-nay-7-ngay.zip
VD, hôm nay là 24/4/2021, thì lệnh trên sẽ nén các file được sửa/up vào các ngày: 16 và 17/4/2021. Các ngày cũ hơn và mới hơn đều không được nén.
Các bạn sẽ thấy lệnh Zip có điều kiện thời gian này rất hữu ích để backup website có lượng dữ liệu lớn. Chẳng hạn ảnh upload lên rất nhiều theo ngày tháng mà không thể backup cả website được. Chúng ta sẽ chỉ backup những ảnh mới được upload lên mà thôi, tiết kiệm tài nguyên, dung lượng và thời gian.