[리눅스] 유저 홈페이지 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


블로그 이미지

영은파더♥

가상서버호스팅 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기가로 하려면 위 명령어를 그대로 붙여넣으면 됩니다.


블로그 이미지

영은파더♥

가상서버호스팅 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메가 까지만 만들어집니다.


블로그 이미지

영은파더♥

가상서버호스팅 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 ~]#

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


블로그 이미지

영은파더♥

가상서버호스팅 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 파일명


'LINUX' 카테고리의 다른 글

리눅스 웹메일 오픈소스 RoundCube  (0) 2018.10.04
[MySQL] systemctl start mariadb 에러  (0) 2018.10.04
CentOS 서버 이전시 백업 목록  (0) 2018.09.04
CentOS 6.x NGINX configtest  (0) 2018.06.01
리눅스 하드디스크 정보보기  (0) 2018.05.29
블로그 이미지

영은파더♥

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

,

안드로이드 스마트폰 GNURoot


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

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

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


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

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


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


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

설치를 눌러줍니다.


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

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

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



블로그 이미지

영은파더♥

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

,