01/10/2018, 17:21

Hỏi về bash shell trong linux

Mọi người cho mình hỏi chút, mình muốn nén tất cả các file trong 1 thư mục Centos, ngoại trừ các file đuôi .zip thì viết bashscript như nào được mọi người chỉ mình với, mình cảm ơn

ThoseWereTheDays viết 19:21 ngày 01/10/2018

bạn tạo 1 file run.sh với nội dung như sau:

#!/bin/bash

tar -zc -f test.tar.gz --exclude='*.zip' *

save file, chmox +x cho file run.sh rồi chạy

Hai Lúa viết 19:27 ngày 01/10/2018

Nếu muốn nén từng file riêng biệt thì có thể dùng:

ls | grep -v .zip | xargs gzip

-> có thể thay gzip bằng bzip2 để có tỷ lệ nén cao hơn, nhưng chậm hơn.

Duy Nguyen Duc viết 19:26 ngày 01/10/2018

Mình nén tất cả các file theo theo từng định dạng ấy bạn

Vô Thin viết 19:25 ngày 01/10/2018

Cung cấp ví dụ minh họa cụ thể, không ai hiểu “nén tất cả các file theo từng định dạng” là như thế nào cả. Còn bạn muốn truyền tham số vào lệnh để nén những file có đuôi giống nhau về một nhóm thì học cách viết shell có tham số mấy cái đô-la rồi số thứ tự.

Duy Nguyen Duc viết 19:23 ngày 01/10/2018

Hi bạn, file trên server có dạng này: server.log.2018-09-17-18, sau khi nén lại nó có dạng : server.log.2018-09-17.zip. Nhưng vấn đề là khi đặt vào cron-tab thì nó chạy hàng ngày và đều nén lại các file .zip kia, bây giờ mình muốn bỏ qua không nén các file có định dạng đuôi .zip

Bài liên quan
0