Monday, April 25, 2011

.:: Expect (Komunikasi program dengan program) ::.

#!/usr/bin/expect -f
# Password change shell script, tested on Linux and FreeBSD
# ----------------------------------
# It need expect tool. If you are using Linux use following command
# to install expect
# apt-get install expect
# FreeBSD user can use ports or following command:
# pkg_add -r -v expect
# ----------------------------------
# If you are using linux change first line
# From:
#!/usr/local/bin/expect -f
# To:
#!/usr/bin/expect -f
# -------------------------------------------------------------------------
# display usage

# script must be run by root user
set whoami [exec id -u]
if {$whoami!=0} {
send_user "You must be a root user to run this script\n"
exit
}
#
set timeout -1
match_max 100000
# stopre password
set password [lindex $argv 1]
# username
set user [lindex $argv 0]
# opem shell
spawn $env(SHELL)
# send passwd command
send -- "passwd root\r"
expect "assword:"
send "rahasia\r" ------> Misal : "rahasia" adalah password baru anda
expect "assword:"
send "rahasia\r" ------> Untuk pengulangan input karakter/ retype password
send "\r"
expect eof
Yakz...pada initinya kita ingin merubah password root dengan program. Program ini berguna bila di suatu sistem ada banyak admin yang ingin merubah password root sesuai kehendaknya, tapi ketika dijalankan script ini, password root akan berubah kembali ke asal.

NB : Bila program expect belum ada, install dahulu. Kalau menggunakan Yum bisa ketikkan #yum install expect.

Lumayan, ilmu baru....

Selengkapnya....

.:: Mencari kata dalam banyak file ::.

Terkadang kita harus mencari sesuatu kata yang ada di dalam banyak file,cukup merepotkan bila kita harus membuka satu persatu file. Ada cara yang lebih efektif untuk melakukan hal tersebut, yaitu menggunakan tool find. Berikut commandnya :
[root@web htdocs]# find . -type f -name '*.php' | xargs grep -lin "select";
Dalam hal ini, kita akan mencari kata "select" dalam banyak file .php. Dan berikut hasilnya :
./cargo/booking/void.class.php
./cargo/booking/booking.class.tradisi.php
./cargo/booking/booking.class.php
./cargo/booking/SmuIntr.php
./cargo/user/user.class.php
./cargo/public_class/function.php
./PAYMENTS/avtur/Approve_Head_Ho.php
./marketingNya/CargoloadProses.php
./marketingNya/cargoruteagentglproses_3ktolwu2l8.php
./marketingNya/cargoruteagentglproses_3kt21wu2l7.php
Dalam file-file tersebutlah ada kata yang dimaksud ("select"). Mungkin agar lebih enak untuk dilihat,kita bisa mendumping output ke dalam sebua file, berikut commandnya :
[root@web htdocs]# find . -type f -name '*.php' | xargs grep -lin "select" > /home/hasil.txt
Output list file akan masuk ke file hasil.txt di folder /home.

Yakz...sederhana tapi cukup membatu bukan..

Selengkapnya....