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

targzip폴더, 구문은 다음과 같습니다

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에서 옵션 tarj아닌 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.