bash if문에서 조건값 2개 이상 주기 for DBNAME in $(cat /tmp/db_user_list) do # 디비에서 "etc_table"테이블 제외하고 백업,-o (OR) 옵션으로 계속해서 조건값을 줄 수 있음 if [ "$DBNAME" == "db_user1" -o "$DBNAME" == "db_user2" ] then $MYSQLDUMP -uroot -p"passwd" $DBNAME --ignore-table="$DBNAME".etc_table> $DBNAME.sql # 기본 백업(전체) else $MYSQLDUMP-uroot -p"passwd" $DBNAME > $DBNAME.sql fi done
포워딩 하기 <script>location.replace('도메인 및 경로');</script>
ifconfig | grep Bcast | sed -e 's/:/ /g' | awk '{print $3}'
유닉스 계열에서 범용으로 사용할 수 있습니다.find . -name "*.php" -print | xargs grep -l "string" 1. 현재 디렉토리의 모든 c 소스파일에서 "popen" 이 포함된 파일 리스트 출력find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "popen" 2. 현재 디렉토리의 모든 c 소스파일에서 "popen" 이 포함된 파일과 내용 출력find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -n "popen" 3. 현재 디렉토리의 모든 c 소스파일에서 "popen" 과 "pclose"가 모두 포함된 파일리스트 출력find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "popen" | xargs grep -l "pclose" 4. 현재 디렉토리의 모든 c 소스파일에서 "popen" 또는 "pclose"가 포함된 파일리스트 출력find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -le "p
#!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "오늘로 부터 몇일 이전의 파일을 삭제할까요?(ex. 7) : " read N_DAY PAST_DATE=$(date +%Y%m%d --date "$N_DAY days ago") for filename in $(find $DIR -type f -name "${FUNC_NAME}.*.txt") do FILE_DATE=$(echo $filename | awk -F. '{print $2}') if [ $FILE_DATE -lt $PAST_DATE ]; then rm -f $filename fi done #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# #!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "몇일
sed로 특정 문자열을 포함한 라인 삭제하기 find 명령어를 조합하여 특정 문자열을 포함한 라인 삭제하기 find . -type f -name "*.php" -exec vi -c "%g/문자열/d" -c "wq" "{}" ;
디스크 사용률 구하는 스크립트 for i in $(df -h | grep -v 'Use' | awk '{print $5}' | cut -d'%' -f1);do echo -e $i;done for i in $(df -h | grep -v 'Use' | awk '{print $5}' | cut -d'%' -f1);do echo $i;done
bash 에서는 shell 을 실행 할때만 인자를 받아들여 처리 할 수 있다. shell 내부에서 첫번째 인자는 $1, 두번째 인자는 $2, 세번째 인자는 $3, 네번째 인자는 $4 ... 으로 쉘 스크립트 내부에서 변수로 받아서 처리가 가능하다. 또한 인자의 개수는 $# 을 이용하여 현재 들어온 인자의 개수가 몇개인지 알 수 있다. 다음은 쉘에서 인자 처리에 대한 예를 보여주는 샘플 이다. ---------------------------------------------------------- #!/bin/sh argc=$# argv0=$0 argv1=$1 argv2=$2 argv3=$3 argv4=$4 fa_argcv() { if [ 0 -eq $argc ] then echo "argc:$argc" echo "argv0:$argv0" fi if [ 1 -eq $argc ] then echo "argc:$argc" echo "argv0:$argv0" echo "argv1:$argv1" fi if [ 2 -eq $argc ] the
# loadavg 구하기 cat /proc/loadavg | cut -d'.' -f1 | awk '{print $1}'
bash 스크립트 공백라인 삭제하기 sed '/^[[:space:]]*$/d'
pcharley님의 스크립트 backup.sh#!/bin/bash############################### 변수 설정 및 함수 로딩##############################FILESYSTEM= # 마운트할때 파일 시스템을 명시HOST= # 여러 호스트가 NFS 파일시스템에 백업할 경우 중복을 방지하기 위해TERM= # 기간(month, week, day 중 하나로 명시)DIR1= # 백업할 부모 디렉토리(여러 부모 디렉토리를 명시할 수 있다)#DIR2=#DIR3=DIR1_01= # 백업할 장소 명시(여러 부모 디렉토리의 여러 백업 장소를 명시할 수 있다)DIR1_02=DIR1_03=#DIR2_01=#DIR2_02=#DIR2_03=#DIR2_01=#DIR2_02=#DIR2_03=DEV= # 백업 매체 명시. (NFS로 공유되는 파일 시스템을 명시)MNT= # 백업 매체 마운트 포인터 명시ADMIN=root # 결과를 e-mail로 받을 사람DATE1=`date +$HOST-%Y-%m-%d-%H-%M` # file 이름을 정하기 위해DATE2=`date +$HOST-%Y:%m:%d` # 보고서에 들어갈 날짜# Source Functio
#!/bin/bash # df 파티션 85% 이상시 메일 보내기 set -x df |sed /Filesystem/d|awk '$5 >= 85 {print $5,$6}' > /root/dflist x=`awk '{print NR}' /root/dflist` if [ $x -le 1 ] then echo `hostname >> /root/dflist` # echo $x mail jrsim@nayana.com < /root/dflist fi exit 0