Archive for the 'script' Category

Command line speedtest

April 19, 2014

Untuk mengetest kecepatan koneksi internet, biasanya saya menggunakan site yang sudah sangat populer yaitu speedtest.net yang dapat diakses menggunakan browser internet. Untuk mengakses site ini kita memerlukan flash yang harus terinstall pada browser.

Speedtest Result

Bagaimana jika kita ingin melakukan speedtest pada server kita yang tidak menggunakan GUI?

Berikut adalah yang saya lakukan:

Download script speedtest-cli
[onay@dudulz-box ~]$ wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
--2014-04-19 02:36:06-- https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
Resolving raw.github.com... 103.245.222.133
Connecting to raw.github.com|103.245.222.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20043 (20K) [text/plain]
Saving to: âspeedtest-cliâ

100%[==============================================================================================================================>] 20,043 --.-K/s in 0s

2014-04-19 02:36:07 (60.9 MB/s) - âspeedtest-cliâ

Berikan permissions untuk execute pada scriptnya
[onay@dudulz-box ~]$ chmod +x speedtest-cli

Execute script untuk mulai melakukan speedtest
[onay@dudulz-box ~]$ ./speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from DigitalOcean (XXX.XXX.XXX.XXX)...
Selecting best server based on ping...
Hosted by SGIX (Singapore) [6.25 km]: 22.014 ms
Testing download speed........................................
Download: 408.71 Mbit/s
Testing upload speed..................................................
Upload: 82.48 Mbit/s
[onay@dudulz-box ~]$

Hasil speedtest untuk donwload/upload ada pada bagian yang saya cetak tebal pada output diatas.

Thanks to https://github.com/sivel yang sudah bersusah payah membuat scriptnya dan memberikannya gratis untuk public.

Wasallam.

Advertisements

Script menghitung persentase penggunaan memory

December 24, 2011

Ngantuk nunggu jam shift selesai, iseng – iseng bikin script sederhana buat ngitung persentase penggunaan memory.

Seperti yg kita ketahui, perintah top di linux/unix hanya mengeluarkan Total memory dan Free memory.
Nah dari pada bolak balik buka calculator, atau copas di excel, biar lebih geeky, berikut saya buat script yang dijalankan pada command line.

[onay@dudulz-box Script]$ cat persen.sh
#!/bin/bash
# memory usage percentage script
# author onay

HELP="USAGE: ./persen.sh MEMTOTAL MEMFREE"

if [[ -n "$1" && -n "$2" ]] ; then

let MEMUSAGE=$1-$2
PERCENTAGE=`awk 'BEGIN{ printf ( '$MEMUSAGE' / '$1' * 100 ) }'`

echo 'Memory Total =' $1'G'
echo 'Memory Free =' $2'G'
echo 'Memory Usage =' $MEMUSAGE'G'
echo 'Memory Usage Percentage =' $PERCENTAGE'%'

else

echo $HELP

fi

Untuk menjalankan scriptnya, terlebih dulu jalankan perintah top dan lihat total memory dan free memory-nya.

# top
last pid: 2444; load avg: 12.1, 9.80, 8.83; up 865+18:37:44 22:03:37
653 processes: 628 sleeping, 8 zombie, 5 stopped, 12 on cpu
CPU states: 66.0% idle, 15.5% user, 18.6% kernel, 0.0% iowait, 0.0% swap
Memory: 80G phys mem, 13G free mem, 67G total swap, 66G free swap

Setelah itu jalankan scriptnya dengan menambahkan total mem dan free mem-nya.

[onay@dudulz-box Script]$ ./persen.sh 80 13
Memory Total = 80G
Memory Free = 13G
Memory Usage = 67G
Memory Usage Percentage = 83.75%

Memory usage dalam persentasenya adalah 83.75%.
Nah lumayan menghilangkan kebosanan..

Regards,
Onay.

Menambahkan ‘date’ pada nama file

March 11, 2010

Sometimes kita ingin membackup secara otomatis menggunakan script. Misalnya membackup suatu database mysql setiap hari. Yang mana nama filenya sesuai dengan tanggal file tersebut dibackup. Cara yg gampang adalah dengan menambahkan command date pada nama filenya. Berikut contoh scriptnya:

#!/bin/bash

# Mysql backup script
# by. onay

BACKUPDIR=/backup/mysql/apps
DBNAME=appsbak

/usr/bin/mysqldump -R -u user -pdbpassword $DBNAME > $BACKUPDIR/$DBNAME-$(date +%d-%m-%Y).sql

Script tersebut bisa dijalankan setiap hari melalui crontab. Hasilnya adalah file dengan nama filenya terdapat tanggal file tersebut dibackup:

# ls /backup/mysql/apps
appsbak-10-03-2010.sql
appsbak-11-03-2010.sql

Yang mau saya bahas adalah pada command date sendiri. Perintah date adalah untuk menampilkan tanggal. Default outputnya adalah:

[root@dudulz-box ~]# date
Thu Mar 11 15:06:52 WIT 2010

Perintah date ini bisa juga ditambahkan options agar format tanggal outputnya sesuai dengan yang kita inginkan.

[root@dudulz-box ~]# date +%d-%m-%Y
11-03-2010
[root@dudulz-box ~]# date +%d_%m_%Y
11_03_2010
[root@dudulz-box ~]# date +%d%m%Y
11032010
[root@dudulz-box ~]# date +%d-%m-%y
11-03-10

Bisa juga menampilkan sekalian dengan jamnya.

[root@dudulz-box ~]# date +%d-%m-%Y/%T
11-03-2010/15:14:54

Format yang lengkapnya bisa dilihat dari manual pagesnya. Fungsi dari date ini, salah satunya seperti yang saya contohkan diatas adalah untuk diredirect kenama file sebagai keperluan backup.

Selamat mencoba.

Exit Status

December 28, 2009

Just another note’s.

Pada command line linux, kita bisa mengecek sukses tidaknya suatu perintah dengan melihat nilai dari exit statusnya. Setiap perintah yang kita masukkan pada command line mempunyai “exit status” berupa nilai atau angka mulai dari 0 sampai 255. Setiap nilai mempunyai arti masing2.

Namun sayangnya saya belum menemukan referensi penjelasan yang lengkap dari semua nilai exit status tersebut. Tapi yang patut diperhatikan adalah nilai 0, yang artinya perintah sukses dieksekusi. Jadi nilai selain dari angka 0, berarti perintah itu gagal dieksekusi. Untuk mengetahui definisi dari exit status dapat merujuk ke halaman wikipedia ini.

Untuk melihat nilai keluaran exit status caranya adalah dengan perintah “echo $?“. Exit status sangat berguna sekali bagi sysadmin untuk memastikan suatu command berjalan dengan sempurna dalam script automatisasi yang dibuat. Sehingga dalam script tersebut bisa dibuat validasi apakah suatu perintah dalam script tersebut sudah berjalan dengan baik atau belum.

Sedikit contoh:

$ pwd
/home/user
$ mkdir coba
$ echo $?
0
$ ls
coba

atau bila gagal,

$ pwd
/home/user
$ mkdir /root/coba
mkdir: cannot create directory `/root/coba': Permission denied
$ echo $?
1

contoh penggunaannya pada script,

#!/bin/bash
#
# exit status validation example

mkdir coba
if [ $? -eq 0 ] ; then
echo "Directory created"
#next command
else
echo "Unable created directory"
#fix error first
fi
exit

That’s all.