apache 자동다운받기

Posted by 주원이^^
2016. 3. 4. 06:22 리눅스/스크립트
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#!/bin/bash


folder="/httpd"
name="httpd"
start="1"
end="20"

ls -l /httpd | awk -F " " '{print $8}' > /httpd/httpd_list.txt

cd $folder
for ((i=$start;i<=$end;i++)); do
        start_cnt=`ls -l | grep ${name}-${i} | wc -l`
        if [[ $start_cnt != 0 ]]; then
                for ((j=$start;j<=$end;j++)); do
                        middle_cnt=`ls -l | grep ${name}-${i}.${j} | wc -l`
                        if [[ $middle_cnt != 0 ]]; then
                                if [[ `ls -l | grep ${name}-${i}.${j}.last | wc -l` != 0 ]]; then
                                        rm_name="`ls -v | grep ${name}-${i}.${j}.last`"
                                        rm -rf "$rm_name"
                                fi
                                        end_cnt=`ls -v | grep ${name}-${i}.${j} | wc -l`
                                        sed_name=`ls -v | grep ${name}-${i}.${j} | sed "/${name}-${i}.${j}.last/d" | sed -n "${end_cnt},${end_cnt}p"`
                                        ln -s ${sed_name} ${name}-${i}.${j}.last.tar.gz
                        fi
                        continue
                done
        fi

done

curl http://archive.apache.org/dist/httpd/ | grep httpd-2 | grep tar.gz | awk -F "href=\"" '{print $2}' | awk -F " " '{print $1}' | awk -F "\"" '{print $1}' | grep tar.gz$ | grep -v alpha | grep -v deps | grep -v beta > /httpd/httpd_list
_http_list

while read line; do
        while read line2; do
                if [[ $line == $line2 ]]; then
                        check=0
                        break;
                else
                        check=1
                fi
        done < /httpd/httpd_list
        if [ $check == 1 ]; then
                wget -O /httpd/$line http://archive.apache.org/dist/httpd/$line
        fi
done < /httpd/httpd_list.txt 
ls -l /httpd | awk -F " " '{print $8}' > /httpd/httpd_list.txt
rm -rf /httpd/httpd_list

'리눅스 > 스크립트' 카테고리의 다른 글

ssh_bruteforce 자동차단  (0) 2016.11.04
웹 트래픽 로그 순위 추출  (0) 2016.11.03
mysql replication 상태체크  (0) 2016.01.13
폴더내 파일 소문자로 일괄변경  (0) 2015.07.16
7일뒤 로그 삭제  (0) 2015.07.14

mysql replication 상태체크

Posted by 주원이^^
2016. 1. 13. 13:54 리눅스/스크립트
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#!/bin/bash
#Server infomation
DB_ID="root"
DB_PW="12345"
S_ip=`ifconfig | grep "inet addr" | awk '{print $2}' | awk -F ":" '{print $2}' | head -n 1`
S_Hostname=`hostname`
Sql_ver=`/usr/local/mysql/bin/mysql -V | awk -F " " '{print $5}' | awk -F "," '{print $1}'`

#log check
Source="/usr/bin/"

##time setting
Log_DeleteDay="42"
Log_Time="*/1 * * * * root sh"

Time_Day="`/bin/date +%Y%m%d --date "$Day days ago"`"
Time_Second="`/bin/date +%H%M%S --date "$Day days ago"`"
#sendmail info
TITLE="[${S_ip}]Mysql Replication Error $S_Hostname"
To_mail="메일주소"


#SQL infomation
MASTER_HOST="`/usr/local/mysql/bin/mysql -u${DB_ID} -p${DB_PW} -e "show slave status \G" | grep Master_Host: | awk -F " " '{print $2}'`"
MASTER_POS="`/usr/local/mysql/bin/mysql -u${DB_ID} -p${DB_PW} -e "show slave status \G" | grep Read_Master_Log_Pos: | awk -F " " '{print $2}'`"
SLAVE_POS="`/usr/local/mysql/bin/mysql -u${DB_ID} -p${DB_PW} -e "show slave status \G" | grep Exec_Master_Log_Pos: | awk -F " " '{print $2}'`"
SLAVE_IO="`/usr/local/mysql/bin/mysql -u${DB_ID} -p${DB_PW} -e "show slave status \G" | grep Slave_IO_Running: | awk -F " " '{print $2}'`"
SLAVE_SQL="`/usr/local/mysql/bin/mysql -u${DB_ID} -p${DB_PW} -e "show slave status \G" | grep Slave_SQL_Running: | awk -F " " '{print $2}'`"

Log_check() {
if [ ! -d /usr/logs ]; then
        mkdir -p ${Source}logs
fi
if [ ! -f ${Source}logs/sql_replication_${Time_Day}.log ]; then
        touch ${Source}logs/sql_replication_${Time_Day}.log
fi
if [[ -z `grep "##Sql Replication Check" "/etc/crontab" | head -n 1` ]]; then
        echo -ne "##Sql Replication Check
${Log_Time} ${Source}Sql_replication.sh" >> /etc/crontab
/etc/init.d/crond restart
fi
}

Log_delete() {

`find ${Source}logs/sql_replication* -ctime +${Log_DeleteDay} -exec rm -rf {} \;`

}


Content() {
echo -ne "
Master Host : $MASTER_HOST
Master Pos : $MASTER_POS        Slave Pos : $SLAVE_POS
Slave IO : $SLAVE_IO            Slave SQL : $SLAVE_SQL
Mysql Version : $Sql_ver
"
}

Mail() {
        Content | /bin/mail -s "${TITLE}" ${To_mail}
}

Start() {
Log_check

echo -ne "  #####$Time_Second#####" >> ${Source}logs/sql_replication_${Time_Day}.log

Content >> ${Source}logs/sql_replication_${Time_Day}.log

if [[ $SLAVE_IO != Yes ]] && [[ $SLAVE_SQL != Yes ]]; then
        Mail
elif [[ $MASTER_POS != $SLAVE_POS ]]; then
        Mail
fi

Log_delete
}

Start

 

'리눅스 > 스크립트' 카테고리의 다른 글

웹 트래픽 로그 순위 추출  (0) 2016.11.03
apache 자동다운받기  (0) 2016.03.04
폴더내 파일 소문자로 일괄변경  (0) 2015.07.16
7일뒤 로그 삭제  (0) 2015.07.14
특정데몬 모니터링  (0) 2014.11.06

fstab 설정하기

Posted by 주원이^^
2015. 9. 15. 16:56 리눅스/기본정보(OS)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

마운트 옵션

이 항목에는 다양한 옵션들이 존재하는데, 각각의 옵션들을 콤마(,)를 이용해서 중복 입력이 가능하다. 대부분 defaults를 쓴다.

 옵션

 설명

 defaults

 rw, suid, dev, exec, auto, nouser, async 옵션을 모두 선택한 것과 같다.

 auto

 부팅시 자동으로 마운트

 noauto

 부팅시 자동으로 마운트 하지 않는다

 nosuid

 uid와 gid가 적용되지 않는다

 ro

 읽기 전용

 rw

 읽기 쓰기 허용


백업

백업 여부를 설정한다

 0

 백업하지 않는다

 1

 백업가능한 파일 시스템


검사

fsck를 이용한 파일시스템 검사옵션

 0

 부팅시에 파일 시스템을 점검하지 않는다

 1

 루트 파일시스템으로서 부팅시에 파일 시스템 점검을 한다

 2

 루트 파일 시스템 이외의 파일시스템으로서 부팅시에 파일 시스템 점검을 한다


 

uuid 알아내기

 

[root@ ~]# blkid
/dev/sda1: UUID="75e37272-6a04-4033-86dc-3196ddbcec16" TYPE="ext4"
/dev/sda2: UUID="466c1fc7-e904-48ae-9591-55be03947745" TYPE="swap"
/dev/sda3: UUID="6a293ee1-a574-4b08-9cff-84107682843e" UUID_SUB="9ce40889-9709-45bf-9ed8-d4f5df10ad1c" TYPE="btrfs"

 

 

'리눅스 > 기본정보(OS)' 카테고리의 다른 글

프로토콜 기본정보  (0) 2017.07.31
GPT 2TB 이상 하드디스크 사용 파티셔닝  (0) 2014.07.30
centos 버전 확인  (1078) 2014.06.19
로그 분석하는방법  (482) 2012.02.02
자신의 하드웨어 정보 보기  (2375) 2011.11.19