Nén một thư mục với tar?


268

Tôi đang cố gắng để nén một thư mục ( /var/www/) để ~/www_backups/$time.tarnơi $timelà ngày hiện tại.

Đây là những gì tôi có:

cd /var/www && sudo tar -czf ~/www_backups $time"

Tôi hoàn toàn bị mất và tôi đã ở đây trong nhiều giờ. Không chắc chắn nếu -czfđúng. Tôi chỉ đơn giản muốn sao chép tất cả nội dung /var/wwwvào một $time.tartệp và tôi muốn duy trì quyền truy cập tệp cho tất cả các tệp. Bất cứ ai có thể giúp tôi ra?


bạn cũng cần một "ở phía bên kia $time.
gauteh

Câu trả lời:


373

Đến targzipmột thư mục, cú pháp là:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

Đây -là tùy chọn. Nếu bạn muốn tarthư mục hiện tại, sử dụng .để chỉ định đó.

Để tạo tên tệp của bạn, hãy sử dụng datetiện ích (xem trang hướng dẫn của nó để biết các tùy chọn định dạng có sẵn). Ví dụ:

cd /var/www && sudo tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Điều này sẽ tạo ra một tập tin có tên như thế 20120902-185558.tar.gz.

Trên Linux, rất có thể bạn tarcũng hỗ trợ nén BZip2 với tùy chọn jchứ không phải là ztùy chọn. Và có thể những người khác. Kiểm tra trang người đàn ông trên hệ thống địa phương của bạn.


1
Điều này là hoàn hảo, cảm ơn bạn. Tôi có một vấn đề nhỏ mặc dù. Sau khi tạo tệp tar của / var / www, nó được đặt trong thư mục / var / www trong tệp tar. Đây là mã tôi đang sử dụng Bây giờ sudo tar -czf ~/www_backups/$time.tar /var/www/"hãy tưởng tượng tôi có một tệp có tên test.txt bên trong / var / www. Sau khi tạo một bản sao tar của tệp, khi tôi giải nén nó, nó sẽ được đặt bên trong các thư mục / var / www. Điều đó có ý nghĩa? Tôi hy vọng nó làm, hơi khó để giải thích. Tôi sẽ kiểm tra hỗ trợ BZip2, cảm ơn vì đã gợi ý!
qwerty

1
Đó là lý do tại sao bạn đầu tiên cdvào thư mục bạn muốn đóng gói, sau đó tar cf file.tar .- cuối cùng .thay vì chỉ định đường dẫn đầy đủ sẽ làm cho các đường dẫn bên trong kho lưu trữ liên quan đến thư mục hiện tại. Bạn cũng có thể sử dụng -Ctùy chọn cho tar (nhìn vào trang man).
Mat

1
Yup, điều đó đã làm việc tốt hơn nhiều. Cảm ơn rất nhiều, đánh giá cao nó!
qwerty

3
@Qwertylicious -f(từ trang nam)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
Kolob Canyon

1
sudolà trong câu hỏi, không thay đổi hoặc câu hỏi đó. Có thư mục đích sao lưu bị hạn chế vào root không phải là một ý tưởng tồi.
Mat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.