crontab command not found 에러현상 crontab 에 등록하지 않고 터미널에서 수행 시 정상적으로 되던 스크립트가 crontab 에만 등록하면 오류가 발생하였습니다. 문제의 원인을 찾고자 사용자 계정의 로그(메일)를 확인하니 아래와 같이 에러가 발생했습니다.$ cat /var/spool/mail/sh ... /home/sh/goldilocks_backup.sh: line 199: gsqlnet: command not found crontab command not found 에러원인 crontab 에 등록되어 있다고는 하지만, 사용자 계정에서 실행하였으므로당연히 사용자의 환경변수를 물고 올라갈거라고 생각했는데 crontab 에서 환경변수를 출력하니 전부 빈 값이었습니다.환경변수가 잡혀있..
Linux
LINUX 에서 OS Errno 별 설명을 확인하는 방법입니다. 1. /usr/include/asm-generic 경로로 이동합니다.# cd /usr/include/asm-generic 2. errno-base.h 와 errno.h 파일에서 정의된 errno 번호와 설명을 확인합니다.# cat errno-base.h #ifndef _ASM_GENERIC_ERRNO_BASE_H #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* ..
쉘 스크립트를 만들다보면 비밀번호를 출력하지 않아야 할 때가 있습니다. 이 때에는 입력변수의 앞 뒤로 stty -echo , stty echo 를 작성해주면 됩니다. 아래의 예를 보겠습니다.$ cat mozi.sh #!/bin/sh echo -n "Input ID : " read ID echo -n "Input PASSWORD : " stty -echo read PASSWORD stty echo echo "" echo "ID = ${ID}" echo "PASSWORD = ${PASSWORD}"read ID 의 경우에는 stty -echo, stty echo 가 없는 반면read PASSWORD 의 경우는 stty -echo, stty echo 가 둘러싸고 있습니다. 이는 입력값을 출력하지 않는다는 의미입..
터미널 환경에서는 일반 데스크탑의 장치관리자처럼 UI 적으로 볼 수 없기 때문에 모델을 확인하기 힘든 경우가 있습니다. 리눅스 터미널에서 장비들의 모델 및 스펙을 확인하는 방법을 알아보겠습니다. 메인보드메인보드의 모델을 확인하는 방법입니다명령어 dmidecode -t system dmidecode -t baseboard 라는 명령어도 있지만, system 에 포함되므로 따로 확인하지 않아도 됩니다.# dmidecode -t system# dmidecode 3.0Getting SMBIOS data from sysfs.SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytesSystem Information Manufacturer: Gigabyte Technology..
리눅스 스크립트 작성 공부 겸, GOLDILOCKS 온라인 백업 테스트 겸 스크립트를 작성해 보았습니다. 먼저 전체 소스및 알고리즘을 확인한 뒤에, 차근차근 짚어보도록 하겠습니다. 소스 알고리즘 1. 백업 스크립트가 현재 수행중인지 확인합니다.- 수행중이라면 백업 스크립트 종료 2. 옵션으로 받은 인자를 확인합니다.- 옵션이 적절치 않다면 스크립트 종료 3. 입력받은 아이디 비밀번호로 데이터베이스 접속을 시도합니다.- 접속 실패시 스크립트 종료 4. 입력받은 아이디가 백업 권한이 있는지 확인합니다.- 권한 없을시 스크립트 종료 5. 데이터베이스 버전을 확인합니다.- StandAlone 혹은 Cluster 6. 백업모드를 시작합니다.- 백업모드 시작 실패시 백업모드 종료 후 스크립트 종료 7. 백업에 필요..
Network 개념은 매우 방대하며, 저는 Network 쪽은 아니라서 자세히 정리는 하지 못할 것 같습니다.또한, 여기서 정리한 내용이 어딘가 분명 오류가 있을거 같아서 정말 맞다고 표현하기도 어렵습니다. 다만, CLOSE_WAIT 과 TIME_WAIT 에 대한 어느정도의 지식은 필요할 거 같아서 정리를 진행하려고 합니다. CLOSE_WAIT서버 혹은 클라이언트가 close 요청을 받았을 때를 나타냅니다.CLOSE_WAIT 은 다른 상태들과 달리, 프로세스 종료 혹은 네트워크 재시작 외에는 제거할 방법이 없습니다. 만약 서버와 클라이언트가 동시에 close 요청을 받게되면, 양쪽에서 CLOSE_WAIT 현상이 나타나고 교착상태에 빠지게됩니다. CLOSE_WAIT 를 제거하고 싶은 경우 아래 명령어를 환..
LINUX 에 JEUS6 설치하는 방법입니다. JEUS 다운로드 1. tmaxsoft 사이트에 회원가입을 한 후, jeus 를 다운로드 한 뒤 서버로 전송합니다. JEUS 설치2. 다운로드 한 bin 파일에 실행권한을 부여합니다.-rwx------. 1 sh sh 282903793 6월 28 10:49 jeus60_unix_generic_ko.bin 3. bin 파일을 수행합니다.$ ./jeus60_unix_generic_ko.bin 4. 라이센스에 Y 를 입력합니다.Preparing to install... Extracting the installation resources from the installer archive... Configuring the installer for this system'..
fio디스크의 읽기, 쓰기, IOPS 를 측정하는 프로그램입니다.기본 명령어가 아니기 때문에 설치를 진행하여야 합니다. fio 설치하기1. 아래 경로로 들어간 뒤에 fio 를 다운받습니다.https://github.com/axboe/fio/releases 2. 다운받은 fio 를 서버로 전송합니다.3. 압축을 해제합니다.$ tar xzf fio-fio-3.7.tar.gz4. 설치경로를 지정하여 설치합니다.$ ./configure --prefix=/home/mozi/fio $ make; make install fio 옵션테스트시에서 사용된 옵션에 대해서만 정리했습니다. 옵션 설명 direct 작업할 폴더 경로 name 테스트 명 rw 테스트 종류 ( read / write / randread / randw..
nmon 리눅스의 상태를 모니터링 하는 프로그램입니다.기본 유틸이 아니기 때문에, 다운로드를 해야합니다. nmon 다운로드 url 입니다.버전에 맞는 바이너리를 다운로드 한 뒤 서버로 전송하면 됩니다.http://nmon.sourceforge.net/pmwiki.php?n=Site.Download nmon 모니터링 nmon 을 실행시키면 첫 화면에 각 모니터링 별 단축키가 출력됩니다.원하는 단축키를 누른 뒤 모니터링을 진행하면 됩니다. $ nmonlnmonq16gqqqqqqqqqqqqqqqqqqqqqHostname=cluster00qqqqRefresh= 2secs qqq15:18.14qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq..
TCP 를 사용하여 통신하는 암호화 되어있지 않은 데이터는 tcpdump 명령어로 가로챌 수 있습니다.tcpdump 는 sudo 권한이 있는 유저 혹은 root 계정에서 수행할 수 있습니다. 예132번 서버의 eth4 이더넷카드명, 10101 포트를 통해서 데이터는 받는 경우입니다.132번 서버에서 아래 명령어를 수행합니다.$ tcpdump -xXvvvs 1024 -i eth4 tcp port 10101 10101 포트를 통해서 들어오는 데이터 중, 원하는 내용을 캡쳐합니다.0x00b0: 0000 0000 0000 010a 5449 5354 4f52 5920 ........TISTORY. 0x00c0: 2020 0a4d 4f5a 4920 2020 2020 2010 0700 ...MOZI......... ..