tar로 폴더를 압축 하시겠습니까?


268

폴더 ( /var/www/)를 현재 날짜가있는 ~/www_backups/$time.tar곳 으로 압축하려고 $time합니다.

이것이 내가 가진 것입니다 :

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

나는 완전히 길을 잃었고 지금은 몇 시간 동안이되었습니다. -czf올바른지 확실하지 않습니다 . 모든 내용을 파일 /var/www로 복사하고 모든 $time.tar파일에 대한 파일 권한을 유지하려고합니다. 누구든지 나를 도울 수 있습니까?


당신은 또한 반대편에 "이 필요합니다 $time.
— gauteh

답변:


373

에 tar와 gzip폴더, 구문은 다음과 같습니다

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

는 -선택 사항입니다. 당신이 원하는 경우 tar현재 디렉토리, 사용하는 .것을 지정할 수 있습니다.

파일 이름을 구성하려면 date유틸리티를 사용하십시오 ( 사용 가능한 형식 옵션에 대해서는 해당 매뉴얼 페이지를 참조하십시오). 예를 들면 다음과 같습니다.

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

이것은 같은 이름의 파일을 만들었을 것 20120902-185558.tar.gz입니다.

Linux에서 옵션 tar이 j아닌 BZip2 압축도 지원할 가능성이 있습니다 z. 그리고 아마도 다른 사람들도 가능합니다. 로컬 시스템의 매뉴얼 페이지를 확인하십시오.


1
이것은 완벽합니다, 감사합니다. 그래도 작은 문제가 하나 있습니다. / var / www의 tar 파일을 작성한 후 tar 파일의 / var / www 디렉토리에 배치됩니다. 다음은 지금 사용하고있는 코드 sudo tar -czf ~/www_backups/$time.tar /var/www/"입니다. / var / www에 test.txt라는 파일이 있다고 상상해보십시오. 파일의 tar 사본을 만든 후 압축을 풀면 / var / www 디렉토리에 배치됩니다. 말이 돼? 나는 그것이 설명하기 어려운 것이기를 바랍니다. 제안 해 주셔서 감사합니다. BZip2 지원을 확인합니다!
— qwerty

1
당신이 첫번째 이유 cd디렉토리에이 패키지하려면 다음 tar cf file.tar .- 마지막 그 .대신 현재 디렉토리에 아카이브 상대 내부의 경로를 만들 것입니다 전체 경로를 지정하는. -Ctar 옵션을 사용할 수도 있습니다 (man 페이지 참조).
— Mat

1
그렇습니다. 무리 감사합니다, 감사합니다!
— qwerty

3
@Qwertylicious -f(man page에서)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
sudo질문에 있었고, 변경하거나 질문하지 않았습니다. 백업 대상 디렉토리를 루트로 제한하는 것은 좋지 않습니다.
— Mat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.