본문 바로가기

7za2

Python: 폴더 백업 기능 구현 (7zip 압축, Sample code) 특정 폴더(working_folder)를 일정 시간 간격으로 백업을 해야 기능이 필요해서 python으로 구현한 내용을 공유합니다. 특정 폴더의 백업 기능의 상세 구현 사항은 아래와 같습니다. Working folder의 하위에 모든 파일을 backup 한다. (주기적으로 실행은 crontab 사용) 하드 디스크를 용량을 절약하기 위해서 7zip 파일로 압축한다. (압축 포맷은 효율이 좋은 7 zip 사용) 백업 폴더에서 백업 파일 7zip 파일의 개수는 미리 설정한 최대 개수를 초과하지 않는다. 백업 파일의 최대 개수가 초과하는 경우 오래된 파일부터 삭제한다. 7zip 파일은 비밀 번호 설정한다. 아래 코드는 우분투를 환경에서 동작하는 검증한 code이고, os.system()를 수정하면 windows.. 2020. 7. 9.
우분투에서 7zip command line 사용하기 (p7zip과 7za추천) 7zip 파일은 압축율이 좋아 자주 사용하는 편이고, 개인이나 단체에서도 무료로 사용할 수 있습니다. 7zip에 대한 소개는 공식 홈페이지를 참고 부탁드리며, 추가 설명이 필요 없을 정도로 유명한 압축 툴으로 LZMA 이라는 압축 알고리즘 기반으로 개발되었다는 정보만 이해하면 문제가 없을 것 입니다. 우분투 20.04를 설치하면 notilus FileManager에서 기본적으로 7zip 파일의 압축 및 해제를 지원하기 때문에 사용에는 불편함이 없습니다. 하지만, 개발하고 있는 SW와 프로그램과 7zip을 연동하기 위해서는 터미널 상에서 command line interface를 사용할 수 있어야 합니다. 예를 들어 특정 폴더는 주기적으로 7zip으로 압축하여 백업하는 프로그램을 만드는 경우 sh comm.. 2020. 7. 9.