파일의 분할 split

 

로그파일을 확인해보고 사용해야 할때가 있다.

그런데, 문제는 로그파일의 용량이 클 경우, 파일자체로 편집하기는 쉽지 않다는 것인데...

리눅스에서 파일을 분할하는 방법이 있다.

 

split -b 100m 로그파일  // -b는 파일을 용량별로 분할할때

split -l 10000  로그파일 // -l은 파일을 원하는 라인별로 분할할때 

 

 

이렇게 분할하게 되면 aaa, aab, aac... 순으로 파일이름이 생성된다.

만약, 파일이름 앞에 이름을 지정하고 할때는 다음과 같다.

 

split -b 100m 로그파일 지정할파일이름

 

예를 들어 log.txt 파일을 log_ 로 분할할 경우

split -b 100m log.txt log_

가 되고, 분할파일은 log_aaa, log_aab, log_aac... 순으로 생성된다.

'리눅스' 카테고리의 다른 글

큰 이미지 썸네일생성시 에러 해결  (0) 2012.05.24
계정별 디비백업 쉘스크립트  (0) 2012.05.06
계정별로 압축하여 백업하기  (0) 2012.05.04

큰 이미지 썸네일생성시 에러 해결

 

큰 이미지를 썸네일 생성시에 생성이 안되고 에러가 나는 경우가 있습니다.

GD가 이미지를 메모리에 다 읽어들인 다음에 메모리에 저장된 이미지를 썸네일 파일로 다시 저장하기 때문에 할당된 메모리가 부족하면 메모리 용량보다 큰 파일은 썸네일을 만들지 못합니다.

이것은 큰 이미지를 저장할 메모리가 작게 설정되어 있어서 나는 에러입니다.

 

이 에러를 해결하기 위해서는 php.ini에서 memory_limit=64M 정도로 설정을 변경해 주면 됩니다.

물론 크게 잡으면 더 큰 이미지도 가능하겠지요.

테스트 해보면서 적당히 잡아주면 되겠습니다.

 

만약, 서버설정이 힘든 웹호스팅을 사용하거나 한다면 .htaccess 파일에 다음 소스를 추가해 줍니다.

PHP_VALUE memory_limit 64M

 

서버설정에 따라 사용못할수도 있는데, 그부분부터는 서버관리자에게 문의하셔야 합니다.

'리눅스' 카테고리의 다른 글

파일의 분할 split  (0) 2012.06.06
계정별 디비백업 쉘스크립트  (0) 2012.05.06
계정별로 압축하여 백업하기  (0) 2012.05.04

계정별 디비백업 쉘스크립트

 

mysql 계정별 디비 dump 받아 백업하는 쉘스크립트입니다.

dump파일이 아닌 db 파일들을 백업하면 복원하기 귀찮지요.

각 계정별로 dump 받게 해주고, 7일지난 파일은 삭제됩니다.

 

서버ip, root비밀번호은 서버설정에 맞게 수정하면 됩니다.

 

#!/bin/sh

# configure setting
IP=서버ip

TODAY=$(date +%Y%m%d)

RMTODAY=$(date +%Y%m%d --date '7 days ago')

# system time check
rdate -s time.bora.net


rm -rf /backup/db_backup/$RMTODAY

mkdir -p /backup/db_backup/$TODAY

## DB BACKUP ##

# Set Variables
DB_USER='root' ;
DB_PASS='root비밀번호';
BAK_DIR=/backup/db_backup
RMDATE=7
RMCOUNT=7
#BAK_LIMIT=`expr $RMDATE \* $BAK_COUNT`
TIME=$(date +%Y%m%d)

db_list=`mysql -Bse 'show databases' -u $DB_USER -p$DB_PASS`;

# Mysql Dump
for db_name in $db_list
do
  if [ ! -f $BAK_DIR/$TIME/$db_name.tar.gz ] && mkdir -p $BAK_DIR/$TIME ; then

   mysqldump $db_name -u $DB_USER -p$DB_PASS --add-drop-table --lock-all-table > $BAK_DIR/$TIME/$db_name.sql
fi
done

'리눅스' 카테고리의 다른 글

파일의 분할 split  (0) 2012.06.06
큰 이미지 썸네일생성시 에러 해결  (0) 2012.05.24
계정별로 압축하여 백업하기  (0) 2012.05.04

계정별로 압축하여 백업하기

 

계정이 여러개 있을 경우, 그리고, 계정에 파일들이 많이 쌓여갈 경우, 전체파일을 압축하여 백업하게 되면 추후에 백업된 파일중 일부만 복원하기가 복잡합니다.  용량이 많아지면 압축풀기도 오래걸리고 만에 하나 하디디스크 용량초과라도 걸리면 다운로드해서 압축을 풀어야 하고 여간 번거로운일이 아닙니다.

 

그래서 생각한것이 계정별로 압축해서 백업하는 것입니다.

다음은 계정별 압축 백업 쉘스크립트입니다.

쉘스크립트 파일로 저장해 놓고, cron으로 원하는 기간단위로 실행하면 되겠습니다.

#!/bin/bash

PWD=`pwd`

HOME_DIR=`cat /etc/default/useradd | grep HOME | awk -F "=" '{print $2}'`

DATE=`date +"%y%m%d%H%M"`

U_COUNT=`ls -l /home/hosting/ | wc -l`

HYAGO=`date -d "-180 days" +"%y%m"`

I=$U_COUNT

cd ${HOME_DIR}
mkdir -p /backup/home

for ((J=2; J<=I; J++)); do
{
 U_NAME=`ls -l ${HOME_DIR}/ | sed -n ${J}p | awk -F" " '{print $9}'`
 `tar zcf /backup/home/${U_NAME}.${DATE}.gz ${U_NAME}`
 rm -rf /backup/home/${U_NAME}.${HYAGO}*
 echo "${U_NAME} Backup Complete"
}
done

cd ${PWD}

clear

echo Backup Complete
echo
echo

'리눅스' 카테고리의 다른 글

파일의 분할 split  (0) 2012.06.06
큰 이미지 썸네일생성시 에러 해결  (0) 2012.05.24
계정별 디비백업 쉘스크립트  (0) 2012.05.06
◀ PREV 1 NEXT ▶