본문 바로가기

반응형

OS/Shell Script

if~else + 하루 이전 날짜 구하기! 배치Job에서 수동 또는 자동으로 처리하기 위해서 분기처리가 필요하였다.예시if [ $2 == 0 ]; then export ANAL_DATE=$(date +%Y%m%d --date '1 days ago') echo $(date +%Y%m%d --date '1 days ago')else export ANAL_DATE=$2fi date +%Y%m%d 이 표현이 현재날짜!하루전 날짜는 date +%Y%m%d --date '1 days ago' 끄읏~ 더보기
apache accesslog 삭제 주저리 디스크가 Full이 났다. 보니 아파치 액세스로그가 엄청나게 쌓이고 있었다..매번 쌓일때마다 지워줘야하니 짜증이-_-;;그래서 찾아보았다. 아파치 httpd.conf에서 옵션으로 삭제가 가능한지를..잘못찾겠다-_-; 그래서 그냥 쉘스크립트로 삭제를 하기로 맘먹었다. 쉘 스크립트로 처리remove_apache_accesslog.sh라는 쉘을 하나 만들었다. shell의 내용 #!/bin/bash # older than 1 days(수정 시간: mtime) find -daystart -type f -name "*.access_log" -mtime +1 -delete -daystart 옵션이 중요하다. 참고 사이트 : https://www.gnu.org/software/findutils/manual/h.. 더보기
[삽질 스토리] ssh에 연결하면서 바로 shell 수행하기!! 상황)쉘스크립트를 하나 받았다.이 쉘을 수행 후에 내가 개발한 것을 돌려야 한다. 이것은 다른 서버에 있다. ssh 공개키도 설정 된 상태! 방법)ssh를 통해 서버에 접근하여 내가 개발한 것을 돌릴수 있는 쉘 스크립트를 돌리려고 한다. 시도1)ex) ssh acet(user name)@search-acet-good(hostname):/home/acet/dev/hello.sh a b 아래의 오류가 계속 났다..ㅠ_ㅠ..ssh could not resolve hostname name or service not known /etc/hosts도 확인하여 등록하였지만 계속하여 났다..OTL=3=3 아래처럼 했더니..잘되었다..ex) ssh acet(user name)@search-acet-good(hostnam.. 더보기
value too great for base (error token is 08 ) 오류 내용value too great for base (error token is 08 ) 등의 블라블라~ 참고 사이트 :http://stackoverflow.com/questions/12821715/convert-string-into-integer-in-bash-script/12821845#12821845 해결책hour=8 echo $(( ${hour#0} +1 ))위처럼 #0을 붙여주면 된다. - 끝 - 더보기
Shell Script DeBug Mode Shell에서 Debug mode 같은 것 이다. set -x doBegin 더보기
shell if 문법 if [ ! -f $EDI_FILE ] && [ ! -f $RCV_FILE ] ; then -- 파일이 유무 확인 없으면 true if [ -f $ERR_FILE ] ; then rm $ERR_FILE fi if [ -s $RCV_FILE ] ; then fi else echo "$EDI_FILE 또는 $RCV_FILE가 존재합니다." fi 대충 보면 알수 있듯이 if 로 열면 fi로 닫는다. if조건에 보면 -f , -s 등을 볼 수 있다. 이런것만 파악하면 금방 사용 할 수 있을 것이다. if 조건 그림 참고 더 쉬운 예제~!! #/bin/sh if [ -f acet.log ] then echo acet.log exist else echo acet.log not exist fi -f는 파일 유무!! 더보기

반응형