Showing posts with label Catatan Pribadi. Show all posts
Showing posts with label Catatan Pribadi. Show all posts

Thursday, September 1, 2016

Clear Memory Linux



Script berikut adalah untuk clean memory pada linux.
Misalnya kita buat file berextensi 'sh' ,misalnya remove_memory.sh dan contoh ditempatkan pada direktori /root/bash

Berikut script pada file remove_memory.sh

#!/bin/sh

sync; echo 1 > /proc/sys/vm/drop_caches
sleep 1
sync; echo 2 > /proc/sys/vm/drop_caches
sleep 1
sync; echo 3 > /proc/sys/vm/drop_caches

file ber extensi 'sh' ini bisa kita eksekusi langsung atau bisa menggunakan crontab.


Hanya catatan pribadi.


ChanSpyAsterisk



file asterisk_channel.php
letakan pada direktori /var/lib/asterisk/agi-bin

#!/usr/bin/php -q
<?php

ob_implicit_flush(false);
set_time_limit(5);
error_reporting(0);

$stdin = fopen('php://stdin', 'r');
$stdout = fopen('php://stdout', 'w');
$stdlog = fopen('/root/php_agi.log', 'w');

$extension = $argv[1];
$connection = pg_connect("host=192.168.10.66 dbname=megalife user=postgres password=megalife678910");

$command = "core show channels";
exec('asterisk -rx "core show channels"',$out);

for($i=1;$i<(count($out)-3);$i++)
{

    $output = preg_replace('!\s+!', '|||', $out[$i]);
    $output = explode("|||",$output);
   
    if(substr($output[1],0,4)==$extension)
    {
        $spyXpin=$output[0];
        fputs($stdout,"SET VARIABLE spyXpin $spyXpin");
        fflush($stdout);
       
        $query = "
            DELETE FROM phone.phone_asterisk_channels WHERE vlocation LIKE '".substr($output[1],0,4)."%';
            INSERT INTO
            phone.phone_asterisk_channels
            (
                vchannel,
                vlocation,
                vstate,
                vapplication_data
            )
            values
            (
                '".$output[0]."',
                '".$output[1]."',
                '".$output[2]."',
                '".$output[3]."'
            )";
        pg_query($connection,$query);
       
        break;
    }
}

exit;

?>

extension.conf (asterisk)

[marvelogy]
exten => i,1,Hangup
exten => t,1,Hangup

exten => _1804X.,1,Dial(SIP/marvel/${EXTEN:4},45)
exten => _1804X.,n,hangup

exten => _1553XXXX,1,NoOp("========== Begin Spying - Silent ==========")
exten => _1553XXXX,n,Set(mpin=${EXTEN:4})
exten => _1553XXXX,n,Set(xpin=${mpin:0:4})
exten => _1553XXXX,n,NoOp(xpin = ${xpin})
exten => _1553XXXX,n,AGI(asterisk_channel.php,${xpin})
exten => _1553XXXX,n,NoOp(${spyXpin})
exten => _1553XXXX,n,ChanSpy(${spyXpin},qo)
exten => _1553XXXX,n,Hangup()

exten => _1554XXXX,1,NoOp("========== Begin Spying - Whisper ==========")
exten => _1554XXXX,n,Set(mpin=${EXTEN:4})
exten => _1554XXXX,n,Set(xpin=${mpin:0:4})
exten => _1554XXXX,n,NoOp(xpin = ${xpin})
exten => _1554XXXX,n,AGI(asterisk_channel.php,${xpin})
exten => _1554XXXX,n,NoOp(${spyXpin})
exten => _1554XXXX,n,ChanSpy(${spyXpin},qw)
exten => _1554XXXX,n,Hangup()

Hanya sebagai catatan pribadi.