Tôi hiện đang viết tập lệnh sao lưu tự động cho các máy chủ của chúng tôi. tôi đang sử dụng lệnh tar tar trong kịch bản để lưu trữ các kho mã.cách giữ quyền sở hữu tệp trong khi sử dụng tar
trong kịch bản PERL của tôi đang sử dụng lệnh tar như sau:
system("tar -jcpf $destPath/$string.tar.bz2 -X $exclusionFile $targetPath");
tôi muốn giữ lại quyền sở hữu tập tin khi trích xuất các kho lưu trữ tar. tôi đã cố gắng liệt kê nội dung lưu trữ tar với
tar -jtvf
và danh sách chứa quyền sở hữu tệp chính xác cho mỗi tệp, nhưng khi giải nén lưu trữ, quyền sở hữu tệp sẽ thay đổi đối với người dùng hiện tại.
có cách nào để trích xuất bản lưu trữ tar và giữ nguyên quyền sở hữu tệp gốc cho mỗi tệp không?
Tôi sẽ thêm nhanh: Không thực hiện lệnh 'system' khi bạn có thể thực hiện trong Perl tinh khiết. Xem [Archive :: Tar] (http://perldoc.perl.org/Archive/Tar.html). Đó là một phần của gói Perl tiêu chuẩn trong một thời gian dài. Nó sẽ hoạt động trong nhiều hệ điều hành khác nhau và giúp bạn kiểm soát tốt hơn tarball của mình. –