tar: giết thông báo lỗi: 'tar: Loại bỏ `/' hàng đầu khỏi tên thành viên '


16

Tôi chạy cái này từ một cronjob:

tar -czvf /var/backups/svn.tgz /var/svn/*

Điều đó tạo ra điều này trên stderr:

tar: Removing leading `/' from member names

Tôi muốn tránh điều này bởi vì nó không phải là một lỗi thực sự (đối với tôi!). Tôi muốn trên stderr chỉ những điều mà tôi nên lo lắng?

Làm thế nào tôi có thể giết tin nhắn đó?

Tôi có cảm giác rằng đó là vấn đề sử dụng tùy chọn tar -C nhưng tôi không chắc và tôi không biết làm thế nào.

Cảm ơn sự giúp đỡ,
Dan


Câu trả lời:


12

lựa chọn của bạn:

-P, --absolute-names : don't strip leading `/'s from file names

hoặc là

-C /

(và một đường dẫn tương đối để mọi thứ đi vào tar) ... phụ thuộc vào những gì bạn muốn.

Ví dụ sử dụng tạo tệp lưu trữ tar bằng tùy chọn -C (do đó loại bỏ dấu gạch chéo):

tar -czf /tmp/archive.tgz -C /etc .

2
Tôi không muốn -P. Tôi muốn -C nhưng tôi không thể làm cho nó hoạt động.
dan

5
Tôi đã tìm ra nó: tar -czvf /var/backups/svn.tgz -C / var / svn /
dan

Mượn cảnh báo liên quan đến -P từ một chủ đề khác: Lưu trữ với vị trí tuyệt đối là một rủi ro bảo mật. Kẻ tấn công có thể sử dụng tài liệu lưu trữ như vậy để lừa người dùng cài đặt tệp ở các vị trí hệ thống quan trọng.
gmode

Lưu trữ với vị trí tuyệt đối là một rủi ro bảo mật. Kẻ tấn công có thể sử dụng tài liệu lưu trữ như vậy để lừa người dùng cài đặt tệp ở các vị trí hệ thống quan trọng.
AB

0

Bạn có thể viết

# ( tar czvf tar.file /path 2>&1 ) >log.file

Tin nhắn sẽ được ghi vào log.file

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.