1. 개요
이 글을 작성하는 이유는 평소와 같이 tar -cvf 압축파일.tar 압축대상 으로 압축을 하는데 용량이 크게되니 자연스럽게 오래걸린다라고 생각만 했었고, htop 을 통해 모니터링을 해보니 단일 코어로 압축을 하고 있는 사실을 확인하고,
"병렬" 멀티쓰레드 압축을 알아보게 되었다.
2. 조치
1) 코드
#!/bin/bash
sudo yum install -y pbzip2
# c : 압축
# z : tar 압축 후에 gzip 재압축
# v : verbose 압축 로그 출력
# p : 전체 권한 유지
# f : 지정 파일명으로 압축
tar --use-compress-program=pbzip2 -cvpf #압축_결과파일명 #압축_대상_경로
2) 응용
위의 백업을 이용한 프로그램으로, STEP.1 압축한다 → STEP.2 압축 대상 파일을 지정 서버로 업로드한다.
#!/bin/bash
source /etc/bashrc
USER="계정"
# 비밀번호 특수문자 포함시 \ <= 역슬래쉬 치환 필요.
PASS="비밀번호"
BACKUP_SOURCE_FILE="/data/yona.${NOW_DATE}.tar.bz2"
BACKUP_HOST="원격 백업 서버"
BACKUP_PATH="원격 백업 디렉토리"
tar --use-compress-program=pbzip2 -cvpf #백업소스디렉토리/#파일명.${NOW_DATE}.tar.bz2 #압축대상
cd #압축대상
expect <<EOD
set timeout 60
#원격으로 백업 디렉토리 정리
spawn ssh ${USER}@${BACKUP_HOST} 'rm -f /apps/backup/*'
expect "password"
send "${PASS}\n"
#결과 호스트명
expect "was@ki_comm"
EOD
expect <<EOD
set timeout 9999999999999
spawn scp ${BACKUP_SOURCE_FILE} ${USER}@${BACKUP_HOST}:${BACKUP_PATH}
expect "password"
send "${PASS}\n"
#결과 호스트명
expect "was@ki_comm"
EOD
'Linux' 카테고리의 다른 글
[LINUX][MARIADB][SSH]Master - Slave 모니터링 (0) | 2022.04.10 |
---|---|
[LINUX][네트워크][NETWORK] 네트워크 모니터링 (0) | 2022.04.10 |
[Apache][PHP][PHP-FPM] PHP 설치 (0) | 2022.04.05 |
[스카우터][Scouter] 내가 사용하는 APM Settings (0) | 2022.03.29 |
[DB][MARIADB][MYSQL][SH][Shell][데이터베이스] 데이터베이스 전체 백업 SH (0) | 2022.03.27 |