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
Hỏi về bash shell trong linux
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.
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ự.
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