시스템/Shell-Script 4

여러 서버에 스크립트 실행

- 만든계기 : 여러대의 서버에서 수정 작업이 있는데, 앤서블 쓰기에는 준비가 안되어있어서 - 내용 : 총 2개의 스크립트로 이루어지게 됨 첫번째는 해당 서버에서 작업을 할 스크립트 두번째는 해당 서버에 접속해서 위의 스크립트를 실행하는 것 - shell-script내용 #!/bin/sh username="test" script="/home/test.sh" cat $script | ssh ${username}@serverip "sh" username = 서버 접속ID script = 작업을 실행할 스크립트 cat으로 스크립트 파일을 읽어들인 후 ssh 접속 하여 해당 서버에 접속한 후 스크립트를 실행한다. password 까지 넣기 싫다면 사전에 ssh key 작업을 해두면 바로 실행할 수 있다.

시스템 정보 수집 스크립트

- 만든계기 : 시스템 정보를 확인하고, 수집하기 위해 생성 단일 시스템 확인용이며, 다수 원격시스템은 ssh로 해서 차 후 또 수정예정 - 내용 : 1. 계정정보 2. 디스크 사용량 확인 3. CPU사용량 4. 메모리 사용량 5. 볼륨그룹 정보 6. 시스템 Gateway확인 7. hosts 정보 확인 8. crontab 정보 확인 9. 프로세스 검색 10. 시스템 가상화 여부 11. 전체 결과 값 파일로 저장 Redhat6기준으로 테스트 했고, ubuntu나 다른버전에서는 다 동작 안될 수도 있다. ㅠ ubuntu같은 경우 sudo를 추가 및 기타 명령어 (virt-what)설치가 필요 결국 명령어 옵션이 좀 다르던가 하는것이니 적절히 수정해서 쓰면 문제없음 - shell-script내용 #!/bin/..

사용자 계정 조회

업무 하다 보면, 자주 사용하는 게 셸 스크립트인데, 급하다는 핑계로 매번 복붙 해서 수정해서 사용한 게 많다. 어쨌든 시스템의 자동화를 잘하려면 셸 스크립트가 중요하니 인터넷, 서적 등을 통해 공부한 것을 작성해보자. - 만든계기 : 시스템상의 계정이 있는지 확인하고, 계정이 있으면 홈 디렉터리와 같이 보여준다. 없으면 존재하지 않음이라고 표현한다. - 내용 : 1. /etc/passwd 로 사용자 계정만 추출한다. 2. 계정을 입력받는다. 3. userhome디렉토리를 변수로 받아둔다. 4. for문으로 위의 /etc/passwd 변수를 돌린다. 5. if문으로 user_check변수를 돌리면서, 입력받은 값이 있는지 계속 돌린다. 있으면 계정과 홈디렉토리를 echo출력으로 보여준다. 이때 check..