네트워킹

오늘:
1,105
어제:
2,375
전체:
2,786,841

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

https://blog.lael.be/post/3932



서버가 완전히 부팅된 후에 무언가 자신만의 특별한 작업을 하고 싶을 때가 있다.

Windows 서버의 경우 [관리 도구]의 [작업 스케줄러]를 이용하면 된다. (자세한 설정 방법은 구글 검색을 이용해 보도록 하자.)

리눅스의 경우 다음과 같은 방법으로 설정 할 수 있다.

 


 

리눅스는 매우 다양한 설정지점(hooking point)이 있다.

부팅 시작시, 서비스 시작 (전, 중 후), 네트워크 연결 (전, 후), 부팅 후 등이 대표적인 설정지점이다.

 

이 중에서 가장 많이 쓰이는 “서버가 완전히 부팅된 후” 특정 작업을 실행하는 것을 실습해 보도록 하겠다.

Run init-script when server fully startup.

 

예제는 root 계정에서 실행한다.

Ubuntu 14.04 LTS 기준으로 작성되었으며, CentOS나 Fedora 등에서는 명령어가 다를 수 있다. (대략적인 방법은 동일)

 

1. 예제 실행을 위해 몇가지 프로그램 확인

a) 시간 동기화 프로그램 확인
# ntpdate

만약 없다면 apt-get install ntpdate 로 설치하도록 하자.

# ntpdate pool.ntp.org

aw1

 

요즘에는 클라우드 서버를 강제로 호스트 서버와 시간 동기화가 되도록 설정하는 경우가 많다. 따라서 다음의 상황이 발생할 수도 있다.

aw2

< 이 서버는 항상 호스트 서버와 시간동기화가 이루어진다. 즉 시간설정은 호스트 서버의 몫이다 >

 

b) 현재 서울의 날씨 정보 가져오기
# curl

만약 없다면 apt-get install curl 로 설치하도록 하자.

# curl -s "http://api.openweathermap.org/data/2.5/weather?q=Seoul,kr&appid=44db6a862fba0b067b1930da0d769e98"

 

c) php 프로그램 확인

무작정 따라하지 말고, 당신의 서버에 php 가 설치되어 있다면 따라하자.

# php -v
# php -r 'echo "b\n";';

aw3

 

2. 부팅시 실행될 Shell Script 생성

#cd /root
#pwd

/root

#vi script-test1.sh

 

x9

script-test1.sh
1
2
3
4
#!/bin/bash
ntpdate pool.ntp.org
curl -s "http://api.openweathermap.org/data/2.5/weather?q=Seoul,kr&appid=44db6a862fba0b067b1930da0d769e98" > weather.txt
echo Server Boot - `date` >> boottime.txt

aw8

 

실행권한을 준다.

# chmod 700 script-test1.sh

 

실행해 본다.

# /root/script-test1.sh

 

aw6

 

 

3. crontab 에 등록

crontab 은 예약 실행 관리자로써 서버 부팅시 마지막에 실행된다.

엄밀히 말해서 부팅중에 실행되는 것이 아니라 부팅이 끝나고 실행되는 것이다.

#crontab -e

에디터 선택옵션이 뜰 수 있는데 라엘이에겐 vim.basic 이 편하더라. (3번)

에디터 선택옵션은

#select-editor

명령어로 언제든 변경할 수 있다.

x6

 

@reboot 는 서버가 다시 켜졌을 때를 의미한다.

@reboot /root/script-test1.sh

aw7

 

4. 동작 테스트 (재부팅)

재부팅해서 스크립트의 동작여부를 확인한다.

# reboot

 


 

유용한 예제

쉘프로그램으로 PHP나 JAVA, Python 같은 외부 프로그램을 실행시켜 관련 스크립트를 작성할 수 있다.

이런 기법을 통해 curl 이나 mysql 연결, json 처리 등을 쉽게 할 수 있다.

# cd /root/
# vi script-test2.sh

 

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/php
<?php
chdir('/root');
 
$weather = exec('curl -s "http://api.openweathermap.org/data/2.5/weather?q=Seoul,kr&appid=44db6a862fba0b067b1930da0d769e98"');
 
$weather_decoded = json_decode($weather, true);
 
$boot_string = "Server boot at " . date('Y-m-d H:i:s') . ', Current weather is ' . $weather_decoded['weather'][0]['description'] . PHP_EOL;
 
file_put_contents('boottime.txt', $boot_string, FILE_APPEND);

aw9

 

# chmod 700 script-test2.sh

 

crontab 에 해당 스크립트 등록

 

확인

aw10

 

 

조회 수 :
558
등록일 :
2017.08.30
19:33:35 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3311469&act=trackback&key=b5b
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3311469
List of Articles
번호 제목 글쓴이 날짜 조회 수
97 How To Install Java with Apt-Get on Ubuntu 16.04 oracle java admin 2017-10-13 38
96 우분투 Linux(Ubuntu)에 Java설치 및 환경 설정하는 방법 admin 2017-10-13 43
95 우분투 다운로드 사이트 주소 ubuntu download 16.04.3 17.04 site link admin 2017-10-13 50
94 How to install Java on linux with no Internet connectivity (using local repository) admin 2017-10-01 327
93 윈도우 ssh 접속 프로그램 admin 2017-09-29 328
92 openvpn Easy Windows Guide admin 2017-09-20 424
91 OpenVPN - Getting started How-To admin 2017-09-20 430
90 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 2017-09-14 465
89 How to Manually Unblock / Unban IP Address in fail2ban 차단풀기 admin 2017-09-12 459
88 How To Protect SSH with fail2ban on Debian 7 데비안 ssh 방어 무작위 로그인 admin 2017-09-12 480
87 SSH 무작위 로그인 시도 막기(With Fail2Ban on CentOS 6/7 + selinux) admin 2017-09-12 474
86 리눅스 데비안 네트워크 설정 유선랜 무선랜 linux debian network setting 설정 admin 2017-09-07 529
85 linux debian 계열 network 설정 테트워크 데비안 admin 2017-09-07 509
84 PUTTY DOWNLOAD - FREE SSH & TELNET CLIENT admin 2017-09-03 644
83 debian 8.8 download cd1 cd2 cd3 etc admin 2017-09-03 543
82 Debian Download 데비안 리눅스 다운로드 admin 2017-09-02 792
81 데비안 리눅스 부팅시에 방화벽 서버에 자동실행 되게 설정 해보자 admin 2017-08-30 555
80 리눅스 시작시에 부팅시 프로세스 프로그램 자동 실행 설정 admin 2017-08-30 574
79 리눅스 시작시 부팅 시, 프로그램 자동실행 등록하기 admin 2017-08-30 598
» 리눅스 부팅시 시작시 프로그램 명령어 실행하기 (Linux Init script) admin 2017-08-30 558
77 리눅스 부팅시 자동 실행 명령스크립트 실행하기 만들기 이해 linux booting admin 2017-08-30 579
76 부팅시 자동실행 명령어 스크립트, rc.local admin 2017-08-30 564
75 the world’s most widely deployed RADIUS server document admin 2017-08-29 571
74 네트워크 디바이스명 변경 리눅스 eth0 eth1 admin 2017-08-29 591
73 Cloned VMware CentOS6 Server "device eth0 does not seem to be present, admin 2017-08-29 573
72 VMWARE VM Error boot loader install grub - install /dev/sda or /dev/hda MBR linux admin 2016-01-27 1168
71 Linux and Unix touch command admin 2015-11-15 1432
70 Configuration of Red Hat 5.4 Xen for SR-IOV Support admin 2015-08-02 1762
69 apt-get install linux-image-2.6.26-2-686-bigmem admin 2015-06-27 1901
68 intel i210 driver install and compile debian admin 2015-06-27 2541
67 Debian / Ubuntu Linux Install Kernel Headers Package admin 2015-06-27 1840
66 mount -t auto /dev/sdb1 /mnt && ls /mnt admin 2015-06-27 1800
65 kali linux 해킹 hacking attack DDOS etc tools admin 2015-06-24 2231
64 sources.list lenny admin 2015-02-03 2648
63 Ubuntu 14.04 원격 접속(xrdp) 설정 admin 2014-12-21 8373
62 Remote Desktop Connection from Windows 7/8 to Ubuntu 14.04 admin 2014-12-21 3225
61 Using Windows RDP to Access your Ubuntu Instance admin 2014-12-21 2871
60 Install GUI on Ubuntu Server admin 2014-12-21 3064
59 How to start GUI from command line? admin 2014-12-21 3053
58 Download all files in a directory using WGET admin 2014-12-16 3031
57 문서 편집기 vi vim command 명령어 정리 admin 2014-10-29 4427
56 find 명령 사용 예제들 admin 2014-10-29 3593
55 특정 IP 엑세스 못하게 하는방법 admin 2014-10-29 3769
54 scp 명령어를 이용한 파일 복사 및 전송 admin 2014-10-29 4423
53 [리눅스] 소프트웨어 레이드의 리빌딩 및 리싱킹 속도를 높이는 5가지 방법 admin 2014-10-17 4003
52 /bin/false, /sbin/nologin 의 차이점 admin 2014-10-13 4799
51 리눅스 시스템 유저 추가 명령어 useradd 사용하기 admin 2014-08-09 4146
50 리눅스 시스템 시작시에 자동 실행할 파일 등록하기 admin 2014-03-22 18951
49 linux 에티터 명령어 정리 포그라운드 전환 : ctrl + z 다시 vi 모드로 돌아오려면 fg admin 2014-03-05 6754
48 Linux Memory Management – Virtual Memory and Demand Paging admin 2014-03-03 6028
47 iptables rules tcp drop all port except tcp 22 admin 2014-02-26 7335
46 seagate HD 시게이트 하드 디스크 A/S 에이에스 기간 조회 및 받는 3가지 방법 admin 2013-12-09 7594
45 SSH Without Authentication Using Key Files (CentOS 5.6) admin 2013-11-22 6773
44 Getting started with SSH public key cryptography admin 2013-09-05 10978
43 암호 없이 SSH 접속하기 admin 2013-09-05 7084
42 Linux Date Command Examples to Display and Set System Date Time admin 2013-07-11 8683
41 FreeRADIUS 설치(freeradius-sever-2.1.8) admin 2013-04-19 14719
40 Radius를 이용한 ssh 인증 서버 구축하기 admin 2013-04-19 11164
39 CentOS 5.4에서 RADIUS 서버 설치하기 admin 2013-04-19 19581
38 Event IP 20187 admin 2013-04-08 7000
37 리눅스에서 자바(JDK) 설치하기 admin 2013-04-08 7975
36 리눅스 네트워크 설정 멸령어 Linux admin 2013-04-08 7969
35 [linux]리눅스 버전및 CPU등 환경정보 확인하기 admin 2013-04-08 22798
34 Linux 시스템 백업과 복원 admin 2013-04-04 7349
33 tar로 전체시스템 백업 LINUX Backup admin 2013-04-04 16801
32 다운된 리눅스서버 응급복구 admin 2013-03-28 10568
31 Build a RADIUS server on Linux admin 2013-03-23 9239
30 Deploying FreeRADIUS with the MySQL Cluster Database file admin 2013-03-22 7656
29 FREE RADIUS 활용및 응용 admin 2013-02-23 18050
28 리눅스에 RADIUS 서버 구현하기 admin 2012-09-01 38048
27 Debian CD DVD 다운로드 링크 헤메지말고 바로 다운로드하지요 admin 2012-08-18 8261
26 Site builder shootout: Drupal vs. Joomla vs. WordPress admin 2012-07-15 27596
25 WinXP 부팅안되는 현상 NTLDR is missing 메세지 admin 2012-07-12 8874
24 윈도우XP 알면 정말 편한 숨겨진 기능 60가지 admin 2012-05-11 11321
23 한국인/국내기업은 얼마나 Linux Kernel에 기여할까? admin 2012-04-29 9600
22 scp, ssh, rsync등을 사용할때에 SSH 비밀번호 묻는것 피하기 admin 2012-04-15 9377
21 [Linux/SSL] 리눅스 서버에 Apache 2 설치 및 SSL 설정하기(mod_ssl, openssl) admin 2012-04-15 10191
20 리눅스의 막강한 네트워크 필터 iptables admin 2012-04-15 8485
19 Centos net install web http admin 2012-03-02 12229
18 Linux 시스템 백업과 복원 admin 2012-02-28 9533
17 검색 파일리스트 만든 다음 여러파일 한방에 압축하기 admin 2012-02-14 10300
16 linux 파티션 디렉토리 용량 확인방법 전체 폴더 크기 사이즈 admin 2012-01-05 10646
15 How to disable IPv6 in Debian Lenny and Squeeze admin 2011-12-29 8827
14 리눅스 네트워크 설정 LINUX admin 2011-12-19 9565
13 다양한 사운드 파일있는곳 admin 2011-12-19 7964
12 모든 CPU 벤치마크 수치 admin 2011-12-16 9782
11 Wireshark admin 2011-12-16 8220
10 스트리밍서버 / 윈도우서버 admin 2011-12-16 9424
9 무료백신 여러가지 분류해놓은곳 admin 2011-12-16 8397
8 윈도우 2003 작업 스케줄러 설정 admin 2011-12-16 12848
7 파이썬 설치 및 사용하기 admin 2011-12-16 10754
6 How to disable IPv6 in Debian , 리눅스 아이피설정 admin 2011-12-16 13024
5 리눅스 서버 이전시 고려할 사항들 admin 2011-12-16 11445
4 ftp 파일전송 여러파일을 한번에 통째로 전송 admin 2011-12-16 11309
3 리눅스 tar 압축 백업복원시 소유자 문제해결 admin 2011-12-16 10360
2 서버이전시 고려할 사항들 admin 2011-12-13 11018
1 Name Server 설정및 이해 admin 2011-12-13 7577