Senin, 30 Agustus 2010

Automatic Remote Shutdown

OTOMATISASI SHUTDOWN PADA UBUNTU REMOTE SERVER

Warnet saya ada 2 server, server no.1 untuk LTSP server yang full GUI Desktop dan server no2 untuk proxy+DNS server serta bandwidth managemen yg tidak memiliki monitor & keyboard. Sebenarnya tidak ada masalah karena meskipun tanpa keyboard & monitor tetap bisa mengadministrasi server no 2 secara remote dengan ssh.



Tetapi ketika melakukan shutdown server harus dilakukan bertahap, yaitu shutdown remote server ( proxy server ) terlebih dahulu, baru kemudian shutdown server LTSP. Jadi kepikiran bagaimana caranya supaya dengan satu kali langkah shutdown di server LTSP maka otomatis server proxy juga ikut ter-shut-down.....ibaratnya sekali dayung 2, 3 pulau terlampaui...:D

Setelah googling, alhamdulillah bisa menemukan solusi.
Langkah2 nya sbb :
misal : username pd server #1 dan pd server #2 (proxy / remote) = masdjo
ssh-key diletakkan pd /home/masdjo, IP server#2 = 192.168.0.30

1. login dg ssh ke server#2 (ssh masdjo2@192.168.0.30)
ketik sudo su lalu ketik
visudo, lalu tambahkan : masdjo ALL=NOPASSWD: /sbin/shutdown


# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

masdjo ALL=NOPASSWD: /sbin/shutdown
Simpan perubahan (Ctrl+O) lalu exit (Ctrl+X)
Kembali ke terminal server#1 ( tekan Ctrl+D )

2. Buat ssh-key :

ssh-keygen -t dsa -f /home/masdjo/id_shutdown

akan menghasilkan 2 file id_shutdown & id_shutdown.pub
beri chmod 0600 pada id_shutdown

chmod 0600 /home/masdjo/id_shutdown

Copy ssh-key ke server#2 :

ssh-copy-id -i /home/masdjo/id_shutdown.pub masdjo@192.168.0.30

3. Buat script untuk shutdown server#2 di /etc/init.d pd server#1 :

sudo gedit /etc/init.d/shut-server02

isi dengan :

#!/bin/sh
ssh -i /home/masdjo/id_shutdown masdjo@192.168.0.30 "/usr/bin/sudo /sbin/shutdown -h 0"
Simpan, lalu beri chmod +x (executable)

sudo chmod +x /etc/init.d/shut-server02
4. Update rc.d

sudo update-rc.d shut-server02 stop 99 0 6 .
kalo benar akan muncul tulisan sbb :
Adding system startup for /etc/init.d/shut-server02 ...
/etc/rc0.d/K99shut-server02 -> ../init.d/shut-server02
/etc/rc6.d/K99shut-server02 -> ../init.d/shut-server02

Sekarang shutdown 2 server cukup dilakukan dengan sekali langkah normal shutdown pada server#1 .... :D
Metode ini mungkin sangat cocok untuk sistem jaringan dengan multi server untuk efisiensi waktu.

Tidak ada komentar:

Posting Komentar