1. 개요 C 소스의 경우 컴파일을 하면 바이너리 파일로 만들어지기 때문에 수정을 할 수가 없다. 그런데 쉘 스크립트는 파일을 누구나 열어서 수정할 수 있기 때문에 저작권, 계정 유출의 문제가 발생할 우려가 있다. 2. 다운로드 및 설치 wget https://github.com/existz/shc-3.8.9/archive/master.zip unzip master.zip cd shc-3.8.9-master make && make install ; sudo로 설치시 /usr/local/bin에도 설치되어 아무데서나 실행 가능 […]
원격 서버에서 쉘 실행
1. 개요 원격 서버에 쉘을 copy하지 않고 실행만 할 때 원격 서버를 점검하거나 공격 스크립트를 실행할 때 2. Command ssh [ID]@[Domain or IP] < [쉘 파일]
process 상태 확인
1. 개요 ser_cnt.lst에 있는 내용을 불러와서 process 상태 확인 → ftp로 log 전송 2. ser_cnt.lst 파일 내용 scsi:66 watchdog:2 3. Source Code #!/bin/sh LOGDIR=”/home/tuser/log/process2.log” echo echo “===== check service process =====” echo for sname in $(cat ./ser_cnt.lst | awk -F: ‘{print $1}’) do pscnt=`ps -ef | grep $sname | grep -v grep | […]
apache log – ip
1. 개요 apache access log를 확인하여 IP 출력 2. Source Code #!/bin/sh # find access ip to apache log WEB_PATH=”/var/log/apache2/access.log” echo “=== check apache log ===” echo -n “year : ” read inyear echo -n “month : ” read inmonth echo -n “day : ” read inday indate=`LANG=C date ‘+%d/%b/%Y’ -d $inyear$inmonth$inday` echo “indate […]
ping to mail
1. 개요 ping 확인 → fail시 list 작성 → 메일 전송 2. Source Code #!/bin/sh LOG_DIR=”/home/tuser/log/ping.log” echo “===== 서버 점검 결과 (`date ‘+%F %T’` 기준) =====\n” email=”tuser@ubuntu” for host in $(cut -d: -f1 ./serverIP.lst) do host_ip=`grep $host ./serverIP.lst | cut -d: -f2` if ! ping -c 1 $host_ip >> /dev/null; then sleep 1 if […]
userdir 초기화
1. 개요 userdir 초기화 2. Source code #!/bin/sh sampledir=”/tmp/sample” ami=`whoami` if [ “$ami” != “root” ]; then echo ” 본 프로그램은 체계관리자(root)외 사용자는 실행이 제한됩니다.” exit fi for name in $(cat /etc/passwd | awk -F: ‘/^user/{print $1}’) do cd /home/$name if [ -d /home/$name ]; then rm -rf * fi cp -rp $sampledir/* /home/$name/ […]
계정 삭제
1. 개요 계정 삭제 스크립트 2. Source code #!/bin/sh stime=10 ami=`whoami` if [ “$ami” != “root” ]; then echo ” 본 프로그램은 체계관리자(ROOT)만 실행할 수 있습니다.” exit fi if [ -z $1 ] ; then echo -n ” Need User Name : ” read DisableUser else DisableUser=$1 fi echo echo ” $DisableUser 계정을 일시정지합니다. […]
Test script
1. 개요 조건문, 반복문, 함수, 변수 사용, echo 옵션, 입력 등 기본적인 쉘 스크립트 작성방법을 알 수 있는 test script이다. 2. Source code #!/bin/sh mul_func() { cnt=1 while [ $cnt -le 9 ] do echo “$multiple * $cnt = `expr $multiple \* $cnt`” cnt=`expr $cnt + 1` done } big_func() { bignum=0 if [ […]
QT Video 다운로드 후 실행
1. 개요 생명의 삶 QT 영상을 다운로드 후 동영상 플레이어(totem)으로 실행하는 쉘 스크립트. 2. Source code #!/bin/bash ############################################ # Get QT video # # Date : 2017.07.12. # # Maker : L.T # ############################################ DATE=`date ‘+%y%m%d’` VIDEO=”/home/lt/비디오/MAQT$DATE.h480x288.mp4″ # 오늘 영상(mp4)을 기존에 다운로드 받았는지 확인 후 없으면 다운로드(wget) if [ ! -s $VIDEO ] then […]
쉘 스크립트 Document
1. 개요 Windows에 배치 프로그램(bat)이 있다면 Linux에는 쉘 스크립트가 있다. 쉘 스크립트는 리눅스의 기본 명령어를 조합해서 만들기 때문에 보통 짠다고 한다. 그래서 명령어와 옵션을 많이 알수록 유리하다. 쉘 스크립트는 인터프리터 언어(↔ 컴파일 언어)이기 때문에 프로그램 실행시 맨 위에서부터 한줄 한줄 실행이 된다. 따라서 컴파일 언어에 비해 속도가 느리지만, 테스트 프로그램을 작성할 때는 바로바로 결과를 알 […]