한국어

네트워킹

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유
    
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


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

 

 

조회 수 :
6848
등록일 :
2017.08.30
19:33:35 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3311469&act=trackback&key=a53
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3311469
List of Articles
번호 제목 글쓴이 날짜 조회 수
110 How to install a Debian 9 (Stretch) Minimal Server 데비안 9 설치 admin 2018-06-13 782
109 Which is better, GCC or Clang? admin 2018-06-13 788
108 고정ip설정, dns설정(데비안) linux 리눅스 admin 2018-06-13 854
107 [리눅스] 부팅 시 자동 실행 프로그램 등록|작성자 나눔HN admin 2018-06-01 972
106 리눅스 서버 유지보수 점검 메인터넌스 상황 파악 admin 2018-04-14 1230
105 Top 20 OpenSSH Server Best Security Practices 보안 대책 실제 적용 admin 2018-04-14 1297
104 Start Stop Restart Apache 2 Web Server Command Debian Ubuntu CentOS RHEL Fedora admin 2018-04-14 1119
103 리눅스 한글 2014 뷰어 다운로드 - hwpviewer admin 2018-03-28 1461
102 리눅스를 백업 복구 tar admin 2018-03-28 1652
101 zip 압축 파일 및 텍스트 파일의 한글 깨짐 해결 방법 admin 2018-03-28 1992
100 Lnux export how to admin 2017-12-17 2745
99 What's the difference between “adduser” and “useradd”? admin 2017-12-15 2769
98 useradd Command 리눅스 admin 2017-12-15 4876
97 How To Install Java with Apt-Get on Ubuntu 16.04 oracle java admin 2017-10-13 3536
96 우분투 Linux(Ubuntu)에 Java설치 및 환경 설정하는 방법 admin 2017-10-13 3611
95 우분투 다운로드 사이트 주소 ubuntu download 16.04.3 17.04 site link admin 2017-10-13 3805
94 How to install Java on linux with no Internet connectivity (using local repository) admin 2017-10-01 3538
93 윈도우 ssh 접속 프로그램 admin 2017-09-29 4126
92 openvpn Easy Windows Guide admin 2017-09-20 8129
91 OpenVPN - Getting started How-To admin 2017-09-20 6420
90 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 2017-09-14 4202
89 How to Manually Unblock / Unban IP Address in fail2ban 차단풀기 admin 2017-09-12 6155
88 How To Protect SSH with fail2ban on Debian 7 데비안 ssh 방어 무작위 로그인 admin 2017-09-12 8862
87 SSH 무작위 로그인 시도 막기(With Fail2Ban on CentOS 6/7 + selinux) admin 2017-09-12 4381
86 리눅스 데비안 네트워크 설정 유선랜 무선랜 linux debian network setting 설정 admin 2017-09-07 9809
85 linux debian 계열 network 설정 테트워크 데비안 admin 2017-09-07 4015
84 PUTTY DOWNLOAD - FREE SSH & TELNET CLIENT admin 2017-09-03 9011
83 debian 8.8 download cd1 cd2 cd3 etc admin 2017-09-03 3974
82 Debian Download 데비안 리눅스 다운로드 admin 2017-09-02 4662
81 데비안 리눅스 부팅시에 방화벽 서버에 자동실행 되게 설정 해보자 admin 2017-08-30 4105
80 리눅스 시작시에 부팅시 프로세스 프로그램 자동 실행 설정 admin 2017-08-30 11021
79 리눅스 시작시 부팅 시, 프로그램 자동실행 등록하기 admin 2017-08-30 6705
» 리눅스 부팅시 시작시 프로그램 명령어 실행하기 (Linux Init script) admin 2017-08-30 6848
77 리눅스 부팅시 자동 실행 명령스크립트 실행하기 만들기 이해 linux booting admin 2017-08-30 9990
76 부팅시 자동실행 명령어 스크립트, rc.local admin 2017-08-30 13606
75 the world’s most widely deployed RADIUS server document admin 2017-08-29 8523
74 네트워크 디바이스명 변경 리눅스 eth0 eth1 admin 2017-08-29 9563
73 Cloned VMware CentOS6 Server "device eth0 does not seem to be present, admin 2017-08-29 4121
72 VMWARE VM Error boot loader install grub - install /dev/sda or /dev/hda MBR linux admin 2016-01-27 4753
71 Linux and Unix touch command admin 2015-11-15 5163
70 Configuration of Red Hat 5.4 Xen for SR-IOV Support admin 2015-08-02 5016
69 apt-get install linux-image-2.6.26-2-686-bigmem admin 2015-06-27 5137
68 intel i210 driver install and compile debian admin 2015-06-27 9546
67 Debian / Ubuntu Linux Install Kernel Headers Package admin 2015-06-27 5176
66 mount -t auto /dev/sdb1 /mnt && ls /mnt admin 2015-06-27 5080
65 kali linux 해킹 hacking attack DDOS etc tools admin 2015-06-24 5930
64 sources.list lenny admin 2015-02-03 5899
63 Ubuntu 14.04 원격 접속(xrdp) 설정 admin 2014-12-21 30058
62 Remote Desktop Connection from Windows 7/8 to Ubuntu 14.04 admin 2014-12-21 6578
61 Using Windows RDP to Access your Ubuntu Instance admin 2014-12-21 6389
60 Install GUI on Ubuntu Server admin 2014-12-21 6316
59 How to start GUI from command line? admin 2014-12-21 6353
58 Download all files in a directory using WGET admin 2014-12-16 6466
57 문서 편집기 vi vim command 명령어 정리 admin 2014-10-29 8322
56 find 명령 사용 예제들 admin 2014-10-29 7011
55 특정 IP 엑세스 못하게 하는방법 admin 2014-10-29 7167
54 scp 명령어를 이용한 파일 복사 및 전송 admin 2014-10-29 8853
53 [리눅스] 소프트웨어 레이드의 리빌딩 및 리싱킹 속도를 높이는 5가지 방법 admin 2014-10-17 7391
52 /bin/false, /sbin/nologin 의 차이점 admin 2014-10-13 8534
51 리눅스 시스템 유저 추가 명령어 useradd 사용하기 admin 2014-08-09 7682
50 리눅스 시스템 시작시에 자동 실행할 파일 등록하기 admin 2014-03-22 42694
49 linux 에티터 명령어 정리 포그라운드 전환 : ctrl + z 다시 vi 모드로 돌아오려면 fg admin 2014-03-05 14647
48 Linux Memory Management – Virtual Memory and Demand Paging admin 2014-03-03 9217
47 iptables rules tcp drop all port except tcp 22 admin 2014-02-26 10631
46 seagate HD 시게이트 하드 디스크 A/S 에이에스 기간 조회 및 받는 3가지 방법 admin 2013-12-09 11492
45 SSH Without Authentication Using Key Files (CentOS 5.6) admin 2013-11-22 9999
44 Getting started with SSH public key cryptography admin 2013-09-05 19710
43 암호 없이 SSH 접속하기 admin 2013-09-05 10709
42 Linux Date Command Examples to Display and Set System Date Time admin 2013-07-11 12356
41 FreeRADIUS 설치(freeradius-sever-2.1.8) admin 2013-04-19 25133
40 Radius를 이용한 ssh 인증 서버 구축하기 admin 2013-04-19 18189
39 CentOS 5.4에서 RADIUS 서버 설치하기 admin 2013-04-19 28330
38 Event IP 20187 admin 2013-04-08 10457
37 리눅스에서 자바(JDK) 설치하기 admin 2013-04-08 11640
36 리눅스 네트워크 설정 멸령어 Linux admin 2013-04-08 11938
35 [linux]리눅스 버전및 CPU등 환경정보 확인하기 admin 2013-04-08 47773
34 Linux 시스템 백업과 복원 admin 2013-04-04 13045
33 tar로 전체시스템 백업 LINUX Backup admin 2013-04-04 30563
32 다운된 리눅스서버 응급복구 admin 2013-03-28 16953
31 Build a RADIUS server on Linux admin 2013-03-23 16362
30 Deploying FreeRADIUS with the MySQL Cluster Database file admin 2013-03-22 11002
29 FREE RADIUS 활용및 응용 admin 2013-02-23 22924
28 리눅스에 RADIUS 서버 구현하기 admin 2012-09-01 55792
27 Debian CD DVD 다운로드 링크 헤메지말고 바로 다운로드하지요 admin 2012-08-18 11491
26 Site builder shootout: Drupal vs. Joomla vs. WordPress admin 2012-07-15 62151
25 WinXP 부팅안되는 현상 NTLDR is missing 메세지 admin 2012-07-12 12200
24 윈도우XP 알면 정말 편한 숨겨진 기능 60가지 admin 2012-05-11 17296
23 한국인/국내기업은 얼마나 Linux Kernel에 기여할까? admin 2012-04-29 15185
22 scp, ssh, rsync등을 사용할때에 SSH 비밀번호 묻는것 피하기 admin 2012-04-15 12997
21 [Linux/SSL] 리눅스 서버에 Apache 2 설치 및 SSL 설정하기(mod_ssl, openssl) admin 2012-04-15 13811
20 리눅스의 막강한 네트워크 필터 iptables admin 2012-04-15 12342
19 Centos net install web http admin 2012-03-02 17697
18 Linux 시스템 백업과 복원 admin 2012-02-28 15375
17 검색 파일리스트 만든 다음 여러파일 한방에 압축하기 admin 2012-02-14 13873
16 linux 파티션 디렉토리 용량 확인방법 전체 폴더 크기 사이즈 admin 2012-01-05 14405
15 How to disable IPv6 in Debian Lenny and Squeeze admin 2011-12-29 12334
14 리눅스 네트워크 설정 LINUX admin 2011-12-19 13526
13 다양한 사운드 파일있는곳 admin 2011-12-19 11462
12 모든 CPU 벤치마크 수치 admin 2011-12-16 13377
11 Wireshark admin 2011-12-16 11573