[리눅스] 유저 홈페이지 Data 및 MySQL DB 백업



User 홈페이지 및 데이터베이스를 백업하는 쉘스크립트입니다.


7일이 경과한 백업파일을 자동으로 지워줍니다.


크론에 등록하고 사용하면 됩니다.


#!/bin/sh


DB_ROOT_ID="root"

DB_ROOT_PW="DB비밀번호"

TODAY=`date +%Y%m%d`

DELETE_DATE=`date +%Y%m%d --date='7 days ago'`

DAY_OF_WEEK=`date +%u`

HOME_DIR="/home"

BACKUP_DIR="/백업경로"

ZIP_PW="압축비밀번호"


echo "

Start : "`date` >> /root/log/backup-users.log



for USER_NAME in $(ls $HOME_DIR | grep -v "centos") ; do

if [ -d "$HOME_DIR/$USER_NAME" ] ; then

    USER_BACKUP_DIR="${BACKUP_DIR}/${USER_NAME}"


    if [ ! -d "$USER_BACKUP_DIR" ] ; then

        mkdir -m 700 $USER_BACKUP_DIR

    fi


    if [ ! -d "$USER_BACKUP_DIR/$TODAY" ] ; then

        mkdir -m 700 $USER_BACKUP_DIR/$TODAY

    fi

    USER_BACKUP_DIR="${BACKUP_DIR}/${USER_NAME}/${TODAY}"


    DB_BACKUP_NAME="${USER_BACKUP_DIR}/${USER_NAME}.sql.gz"

    mysqldump -u${DB_ROOT_ID} -p${DB_ROOT_PW} ${USER_NAME} --opt --lock-tables=false | gzip > ${DB_BACKUP_NAME}

    sleep 3

    zip -0P$ZIP_PW $DB_BACKUP_NAME.zip $DB_BACKUP_NAME

    sleep 3

    rm $DB_BACKUP_NAME


    sleep 5

    USER_DIR="${HOME_DIR}/${USER_NAME}"

    DATA_BACKUP_NAME="${USER_BACKUP_DIR}/${USER_NAME}_data.tar.gz"

    cd ${USER_DIR}

    tar czfp $DATA_BACKUP_NAME ./www

    sleep 3

    zip -0P$ZIP_PW $DATA_BACKUP_NAME.zip $DATA_BACKUP_NAME

    sleep 3

    rm $DATA_BACKUP_NAME

    cd


    USER_BACKUP_DEL_DIR="${BACKUP_DIR}/${USER_NAME}/${DELETE_DATE}"

    if [ -d "$USER_BACKUP_DEL_DIR" -a "$USER_BACKUP_DEL_DIR" != "" ] ; then

        rm -rf ${USER_BACKUP_DEL_DIR}

    fi

    sleep 5

fi

done


echo "End User Backup : "`date` >> /root/log/backup-users.log


홈페이지 경로는 /home/유저계정/www 기준으로 되어있으니 자신의 환경에 맞게 수정하세요~


파일 첨부합니다.


backup-users.sh.txt


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

저사양 VPS 스왑메모리 생성 스크립트



메모리 용량이 적은 사양의 VPS 를 개설했더니 스왑메모리가 0으로 잡혀있네요~


스왑메모리가 0으로 되어 있으면 yum update 또는 install 등 서버 운영 중간에 에러가 잘 발생합니다.


mkdir -p /var/spool/swap

dd if=/dev/zero of=/var/spool/swap/swapfile bs=1M count=1024

chmod 600 /var/spool/swap/swapfile

mkswap /var/spool/swap/swapfile

swapon /var/spool/swap/swapfile

swapon -s

echo "/var/spool/swap/swapfile none swap defaults 0 0" >> /etc/fstab


용량을 1기가로 하려면 위 명령어를 그대로 붙여넣으면 됩니다.


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

VSFTPD 파일업로드 용량 제한 방법


vsftpd.conf 에서 파일 용량을 제한 거는 옵션은 없습니다.

대신에 리눅스에서 제한을 거는 방법이 있습니다.


/etc/security/limits.conf 파일에 아래 내용 추가

# 5M = 5120KB

user1           hard    fsize   5120

해당 유저로 로그인( 또는 su 유저명 )하여 ulimit -a | grep "^file size" 명령어로 확인이 가능합니다.


이제 테스트를 해봅니다.

[root@vps ~] $ su user1

[user1@vps ~] $ cd ~

[user1@vps ~]$ dd if=/dev/zero of=./100M.bin bs=1M count=100

File size limit exceeded

[user1@vps ~]$ ls -l

total 5124

-rw-rw-r-- 1 user1 user1 5242880 Oct 23 16:28 100M.bin

100메가 짜리 파일을 만들려고 했지만 사이즈 제한이 걸려서 5메가 까지만 만들어집니다.


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

[리눅스] SMTP 메일 전송 테스트


리눅스 서버에서 테스트 메일을 보내는 방법입니다.

[root@ivps ~]# telnet localhost 25

Trying ::1...

Connected to localhost.

Escape character is '^]'.

220 mail.ivps.kr ESMTP Postfix

mail from: root@localhost

250 2.1.0 Ok

rcpt to: roundcube@localhost

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

subject: test mail

from localhost

to localhost

.

250 2.0.0 Ok: queued as EF47875AE

quit

221 2.0.0 Bye

Connection closed by foreign host.

[root@ivps ~]#

굵은 글씨 부분처럼 따라 하시면 됩니다.


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

리눅스 퍼미션 권한이란


Linux 에서 파일 또는 디렉토리에는 Permission 이라는 권한 설정이 되어 있습니다.

이유는 리눅스가 여러 사용자가 사용하는 OS 이기 때문입니다.

루트 폴더에서 ls -l 명령어로 한번 파일 리스트를 살펴보겠습니다.

리눅스 퍼미션 권한이란

맨 앞쪽 글자가 의미하는건

b : block type

c : character type

d : directory

l : symbolic link

p : named pipe

s : socket

- : 일반파일

을 의미합니다.


그리고 뒷쪽으로 9자리는 소유자 3자리, 소유자그룹 3자리, 그 외 유저 3자리입니다.

r : 읽기

w : 쓰기

x : 실행

을 의미합니다.


권한변경은 chmod 로 할 수 있습니다.

ex) chmod 777 파일명


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

안드로이드 스마트폰 GNURoot


스마트폰에 루팅을 하지 않고도 리눅스 설치해서 실행할 수가 있습니다.

기존 안드로이드 OS 를 건드리지 않고 에뮬레이터 형태로 지원되는 것 같네요~

먼저 플레이스토어에서 GNURoot 를 설치합니다.


실행 후에 몇 종류 없지만 원하는 리눅스를 선택합니다.

저는 페도라를 선택했습니다.


선택한 다음에 Create New Rootfs 를 실행합니다.


GNURoot Fedora Remix 를 다운로드 받으라고 해당 플레이스토어가 열립니다.

설치를 눌러줍니다.


설치가 끝나고 다시 GNURoot 를 실행해서 Launch Rootfs 를

실행하면 아래와 같은 터미널 화면을 볼 수가 있습니다.

기본적인 리눅스 명령어는 다 먹히는 것 같습니다.



블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요