2009-12-14

terminator

suka pake cli pas lagi di desktop? biasa jalanin Applications->Accessories->terminal?
well ada yang muantab nih, terminator, tenang ini bukan robot penghancur dari masa depan, ini terminal biasa tapi bisa banyak window ..
Cara instalasinya mudah, tinggal
detanto@detantoCQ45:~$ sudo apt-get install terminator
bila instalasi dah selesai, shortcut akan muncul di Applications->Accessories->terminator, tepatnya pas dibawah terminal :)

install acrobat reader di karmic koala

download file dari adobe.com langsung - http://get.adobe.com/uk/reader/otherversions/
setelah selesai download (file-nya yang versi 9 gede banget, sekitar 60MB)

jalankan :
detanto@detantoCQ45:~$ sudo dpkg -i AdbeRdr9.2-1_i386linux_enu.deb
[sudo] password for detanto:
Selecting previously deselected package adobereader-enu.
(Reading database ... 223192 files and directories currently installed.)
Unpacking adobereader-enu (from AdbeRdr9.2-1_i386linux_enu.deb) ...
Setting up adobereader-enu (9.2) ...

Processing triggers for man-db ...
detanto@detantoCQ45:~$
setelah selesai, shortcut untuk adobe reader akan muncul di Application->Office

2009-12-13

mencari file di linux

locate

di linux ada beberapa metode untuk mencari file. gw dulu memakai metode locate, tetapi locate ini mempunyai kelemahan..yaitu harus menjalankan command updatedb dulu supaya mengupdate database file yang ada di sistem, jangan dikira command updatedb lgsg jadi, makan waktu juga dan pula updatedb ini musti pake sudo jadi ga bisa user biasa .. jadi step-nya :
detanto@detantoCQ45:~$ sudo updatedb
[sudo] password for detanto
kemudian kita masukkan file yang kita cari, seumpama kita mencari file berekstensi conn(file koneksi aquafold datastudio)
detanto@detantoCQ45:~$ locate *.conn
/home/detanto/.datastudio/connections/detantot61.conn
/home/detanto/.datastudio/connections/edp01.conn
/home/detanto/.datastudio/connections/kimsystem.conn
/home/detanto/.datastudio/connections/mysql - lokalhos.conn
find
selain locate ada juga find, hmmm ini yg sekarang sering banget gw pake .. karena lgsg jebret ga perlu update2an segala. cuman memang lebih lelet karena lgsg nyari file di sistem
perintah sering gw pake :
find /(lokasi pencarian) -iname file_yg_dicari
perintah diatas bisa dibaca, cari file_yg_dicari mulai dari root(/) dan ga pedulikan uppercase ato lowercase atau case insensitive (option iname), kalo case sensitive gunakan option -name
perintah find ini bener2 bisa diulik macem2, berikut share dari pengalaman gw tentang beberapa kombinasi command find :
  1. mencari direktori bernama kemas
    detanto@detantoCQ45:~$ find /home/detanto -type d -name kemas
    /home/detanto/.gconf/apps/control-center/network/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/src/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/build/classes/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/build/test/classes/id/co/kemas
    /home/detanto/Documents/NetBeansProjects/unused/kemas-persistence-old/test/id/co/kemas
    Type d merupakan direktori, ada banyak pilihan type (dari perintah man find), kalo gw sih seringnya cman pake d sama f doang :D
    b      block (buffered) special
    c character (unbuffered) special
    d directory
    p named pipe (FIFO)
    f regular file
    l symbolic link; this is never true if the -L option or the -follow option is in effect,
    unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.
    s socket
    D door (Solaris)
  2. mencari file/direktori hidden, tinggal ketik
    find . -type f -name ".*"find . -type d -name ".*"
    titik disini adalah direktori user berada. jadi seumpama kita berada di /home/detanto, perintah ini akan mencari di direktori2 yang ada didalam /home/detanto

  3. mencari file yang yang mengandung "detanto" berukuran diatas 5MB
    detanto@detantoCQ45:~$ find -iname detanto* -size +5M
    /opt/mysql_database/misc/detantonux.err
  4. Mencari file dengan permission tertentu.
    misalnya kita mau mencari file dengan permission 777 dan menampilkannya dengan command ls -l
    detanto@detantoCQ45:~/test$ find . -perm 777 -type f -iname *.txt -exec ls -l {} \;
    -rwxrwxrwx 1 detanto detanto 0 2009-12-13 21:02 ./test1.txt
    misalnya kita mau langsung menghapusnya
    detanto@detantoCQ45:~/test$ find . -perm 777 -type f -iname *.txt -exec rm {} \;
  5. Mencari yang bukan ato find invert

    misal di direktori /home/detanto/test, ada 5 file :
    detanto@detantoCQ45:~/test$ ls -l
    total 0
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:41 test1.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test2.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test3.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test4.txt
    -rw-r--r-- 1 detanto detanto 0 2009-12-13 21:02 test5.txt
    Kita mau mencari yang bukan bernama test2.txt
    detanto@detantoCQ45:~/test$ find . -not -iname test2.txt
    .
    ./test4.txt
    ./test1.txt
    ./test5.txt
    ./test3.txt
hmm apalagi ya, sepertinya yg sering aku pake dan hasil browsing2 di internet cman ini, nanti kalo ada lagi aku tambahin di sini :D

2009-11-20

Package menarik dari Repo Ubuntu Debian (asr-manpages, funny-manpages)

Tahu manpages di Linux kan?
nah ada package yang unik di Ubuntu .. yaitu funny-manpages dan asr-manpages
Install packages nya


sudo apt-get install funny-manpages dan asr-manpages

kemudian coba ketikan beberapa perintah
~ $ man sysadmin
~ $ man baby
~ $ man sex
~ $ man think
~ $ man party

etc...

Lihat outputnya .....








Powered by ScribeFire.

2009-10-10

cron, crontab, backup

ada topik basi yg pasti dah pada jago.. cron :)

Apa itu cron?
cron adalah scheduler di unix-like dan merupakan singkatan dari chronograph

cron digunakan untuk mengatur skedul sehingga user dapat menjalankan perintah atau script pada waktu tertentu, biasanya digunakan untuk maintenance atau administrasi.

Apa yang bisa dilakukan cron?

Contoh2 yang bisa dilakukan dengan cron :
  • backup
    bisa backup database, backup data ato backup system
  • kirim email
    seumpama pengen kirim imil ke user jam 10 malem, tinggal diset gaksah balik kantor jam 10 malem :)
  • reboot server
  • dsb
di tempat gw, cron hanya digunakan untuk backup database dan tentu saja download scheduler kekekekek karena ga etis donlod file2 gede pas jam sibuk :P

cron merupakan daemon yang hanya perlu dijalankan sekali dan akan berjalan di background process. Pada kebanyakan distro, cron sudah terinstall secara ostosmastis dan di-load di startup, untuk melihatnya ketik

detanto@detantoCQ45:~$ ps aux | grep cron
root 3625 0.0 0.0 3480 1036 ? Ss 08:43 0:00 /usr/sbin/cron
detanto 11502 0.0 0.0 3340 816 pts/1 S+ 10:06 0:00 grep cron

Menggunakan cron

Ada beberapa cara untuk menggunakan cron, kalo diliat di /etc, akan ada beberapa file yang berbau cron

detanto@detantoCQ45:/etc$ ls -l | grep cron
drwxr-xr-x 2 root root 4096 2009-10-10 09:19 cron.daily
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.hourly
drwxr-xr-x 2 root root 4096 2009-10-05 10:45 cron.monthly
-rw-r--r-- 1 root root 724 2008-11-12 22:47 crontab
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.weekly
dari hasil ls, ada bberapa file yang berbau cron, apabila kita meletakkan script di dalam direktori cron.daily atau hourly, skedul akan dijalankan sesuai dengan nama direktorinya ..
kalo kita mau bikin skedul sendiri yang ga ngikut direktori2 itu, kita bisa edit lgsg ke file crontab. crontab adalah cron table; adalah sebuah file yang berisi skedul yang berisi job yang musti dilakukan pada waktu tertentu.

Isi dari crontab :

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Syntax crontab :

.---------------- menit
| .------------- jam
| | .---------- hdb
| | | .------- bulan (1 - 12) ato jan,feb,mar,apr ...
| | | | .---- hdm (0 - 6)
| | | | |
* * * * * user cmd

menit perintah akan dijalankan pada menit keberapa, nilai :'0' and '59'
jam perintah akan dijalankan pada jam keberapa, nilai : 0-23, 0 adalah tengah malam
hdb (hari dalam sebulan) perintah akan dijalankan pada hari keberapa dalam sebulan, misal kita mo jalankan perintah pada hari ke 13 setiap bulam , hdb akan mempunyai nilai 13
bulan perintah akan dijalankan pada bulan keberapa dalam setahun, nilai : 1-12 atau nama bulan dalam bhs inggris
hdm perintah akan dijalankan pada hari keberapa dalam seminggu, nilai : 0-6 atau nama hari dalam bhs inggris ((Minggu=0 or 7) ato sun,mon,tue,wed,thu,fri,sat )
user user yang akan menjalankan
cmd perintah yang mau dijalankan
contoh script yang gw masukkin di /etc/crontab

00 23 * * * root mysqldump --user root --password=apaya hrd > /home/detanto/backup_mysql/hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sql
Script di atas akan melakukan script backup mysql spesifik ke database hrd tiap jam 11 malem dengan format file :
hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sql
di direktori /home/detanto/backup_mysql/

ini gw share script yang menarik, dia nge-backup semua database yang ada di mysql, sebetulnya bisa menggunakan option --all-database, tapi afaik hasilnya jadi satu dalam satu file. Script yang gw buat ini akan membackup satu2 ke dalam file berformat gz .. jd irit :P

#!/bin/bash

dbUSRNM="root" # user database
dbPASSW="qqwwee" # password database
dbHOSTS="localhost" # host database

# path perintah linux
cmMYSQL="$(which mysql)"
cmDUMPS="$(which mysqldump)"
cmGZIP="$(which gzip)"

vrFILE=""
#lokasi backup
vrDESTI="/home/detanto/backup_mysql"
#hostname dari server yg akan dibackup
vrHOSTS="$(hostname)"
#tanggal
vrDATES="$(date +"%Y-%m-%d_%H%M%S")"
#array database yang tidak dibackup
arNOBCK=("mysql" "test" "sample" "information_schema")
#array database yang ada di server
arDBASE="$($cmMYSQL -u $dbUSRNM -h $dbHOSTS -p$dbPASSW -Bse 'show databases')"
#looping semua database yang sudah diisi arraynya di arDBASE
for db in $arDBASE
do
lewat=-1
if [ "$arNOBCK" != "" ];
then
for i in ${arNOBCK[@]}
do
[ "$db" == "$i" ] && lewat=1 || :
done
fi

if [ "$lewat" == "-1" ] ; then
#nama file
vrFILE="$vrDESTI/$db.$vrHOSTS.$vrDATES.gz"
#menjalankan perintah mysqldump dan lgsg di zip ke format gz
$cmDUMPS -u $dbUSRNM -h $dbHOSTS -p$dbPASSW $db | $cmGZIP -9 > $vrFILE
fi
done
simpan script ini, tambahkan permission untuk diexecute trus dipasang deh ke /etc/crontab


sumber2:
http://en.wikipedia.org/wiki/Cron
http://www.tech-recipes.com/category/computer-programming/unix-shell-scripting/bourne-shell-scripting/