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 :smiley:

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

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.

1 Like

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

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ự.

1 Like

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

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?