Perl Script สำหรับรีโมทไปรีเซ็ตเมื่อถึงเวลาที่ตั้งไว้

GSM VoIP Configuration

Perl Script สำหรับรีโมทไปรีเซ็ตเมื่อถึงเวลาที่ตั้งไว้

โพสต์โดย nuiz » 27 ก.ย. 2011 00:37

บทความนี้เป็นการใช้ Perl Script เพื่อรีเซ็ต GSM VoIP Gateway ตามเวลาที่เราตั้งไว้ เหมาะกับตอนที่ใส่ซิมเติมเงินซึ่งจำกัดไว้ว่าโทรได้ตั้งแต่กี่โมงถึงกี่โมง เมื่อถึงเวลาที่ตั้งไว้ Script นี้จะ Telnet ไปที่ IP ของ GSM VoIP Gateway แล้วสั่ง Reset เครื่อง ทำให้โทรไม่เกินช่วงเวลาที่กำหนด

1. ไฟล์ /opt/test_eia.pl
** กรณี Telnet Port = 23 **

โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use Net::Telnet;

$telnet = new Net::Telnet (Timeout => 10, Errmode => 'die');

$telnet -> open('192.168.100.1');
$telnet -> waitfor('/Username:$/i');
$telnet -> print('admin');
$telnet -> waitfor('/Password:$/i');
$telnet -> print('password');

$telnet -> waitfor('/\>$/i');
$telnet -> print('en');

$telnet -> waitfor('/\#$/i');
$telnet -> print('^config');

$telnet -> waitfor('/\(config\)\#$/i');
$telnet -> print('reset eia');

$telnet -> waitfor('/\(y\/n\):$/i');
$telnet -> print('y');

$telnet -> close;


** กรณี GSM VoIP Gateway ต่ออยู่หลัง NAT Device เราต้อง Telnet เข้า Public Port = 233 ซึ่งแม๊บกับ Local Port = 23

โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use Net::Telnet;

$telnet = new Net::Telnet (Timeout => 10, Errmode => 'die', Port => 233);

$telnet -> open('192.168.100.1');
$telnet -> waitfor('/Username:$/i');
$telnet -> print('admin');
$telnet -> waitfor('/Password:$/i');
$telnet -> print('password');

$telnet -> waitfor('/\>$/i');
$telnet -> print('en');

$telnet -> waitfor('/\#$/i');
$telnet -> print('^config');

$telnet -> waitfor('/\(config\)\#$/i');
$telnet -> print('reset eia');

$telnet -> waitfor('/\(y\/n\):$/i');
$telnet -> print('y');

$telnet -> close;


2. ทำให้ Execute ได้
โค้ด: เลือกทั้งหมด

chmod 755 /etc/test_eia.pl


3. ติดตั้ง perl-Net-Telnet
โค้ด: เลือกทั้งหมด
yum -y install perl-Net-Telnet


4. ทดสอบรันสคริปต์ แล้วดูว่าทำงานหรือไม่
โค้ด: เลือกทั้งหมด
cd /opt
./test_eia.pl

ถ้า Reset ได้ก็แสดงว่าเวอร์ค

5. ตั้งเวลา Reset โดยใช้ contrab
สมมติว่าให้รีเซ็ตตอน 17:48 ทุกวัน
โค้ด: เลือกทั้งหมด
crontab -e

ใส่บรรทัดต่อไปนี้เพิ่มเข้าไป
โค้ด: เลือกทั้งหมด
48 17 * * * /opt/test_eia.pl


เป็นอันว่าสำเร็จครับ รอดูผลงานได้เลย ทุกวันตอน 17:48
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง GSM VoIP Gateway

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน