Showing posts with label script. Show all posts
Showing posts with label script. Show all posts

sunlink

| Thursday, November 26, 2009

Sunlink bukan merk sabun cuci maupun shampo..
Sunlink di freebsd digunakan untuk memblok delete permission dgn kata lain smua user tidak bisa menghapus file yg telah di sunlink.

Perintahnya :
# chflags sunlink ojodidel.txt

Untuk menonaktifkan sunlink sbb :

# chflags nosunlink ojodidel.txt

Mengenal beberapa Unix tool.

| Thursday, November 05, 2009

1. Sed
Sed adalah stream editor. Pada dasarnya digunakan untuk manipulasi text.

Perintah dasar.

sed [-lrn] [-e 'sedscript'] [file1 file2 ...]

-l : line buffered
-r : extended regex
-n silences default output

Paling males kan baca perintah dasar? soalnya saya blm paham kalau ngga ada contohnya :P.

% echo "Hello there foo" | sed -e 's/foo/bar/'
Hello there bar

nah.. paham kan? perintah diatas dpt digunakan untuk mereplace foo menjadi bar

saya mencoba perintah berikut dan berhasil
# more limit | sed -e 's/fxp1/rl0/' >> limitbaru
perintah diatas adalah membaca file dgn nama limit dan mereplace semua kata yg mengandung fxp1 menjadi rl0 dan hasilnya disimpan dalam file limitbaru

Perintah sed juga bisa berfungsi seperti grep.

% sed -ne '/FreeBSD/p' /etc/motd
FreeBSD 6.2-PRERELEASE (FOO) #0: Sat Nov 11 00:12:52 EST 2006
Welcome to FreeBSD!

Dapat digunakan juga untuk melihat header mail.
% cat mymail \
| sed -ne '/^[A-Za-z0-9]/ { x; /^Received: /{p;}; }; /^[A-Za-z0-9]/!H'
Received: from localhost (localhost [127.0.0.1])
by whitefox.csh.rit.edu (Postfix) with ESMTP id 731F81145C
for ; Sat, 19 May 2007 01:19:30 -0400 (EDT)
Received: from whitefox.csh.rit.edu ([127.0.0.1])
by localhost (whitefox.csh.rit.edu [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id EURHKUeHSrao for ;
Sat, 19 May 2007 01:19:16 -0400 (EDT)

2. cut
Cut digunakan untuk memotong bbrp bagian dr data.

Perintah dasar

cut [-d delim -f range] [-c range] [-b range]

% echo "one,two,three,four" | cut -d"," -f 1,3
one,three

yang tdk bisa dieksekusi oleh cut

% echo "one two three" | cut -d' ' -f 2

% echo "one two three" | awk '{print $2}'
two

3. awk
awk merupakan filter tool pada scripting

Perintah dasar
awk [-F] [awk_script]

awk mempunyai 2 konsep data spyt pd input file yaitu field dan record

record adalah seluruh baris, pemisah antar record adl baris baru

field adalah kata2, pemisahnya adalah spasi atau tab. default pemisahnya adalah spasi tapi bs juga sebuah karakter atau regular expression.

pattern : [condition_expressions] { [action_expressions] }
% fstat | sed -e 1d \
| awk '{a[$1]++} END { for (i in a) { print i, a[i] } }' \
| sort -nk2
smmsp 8
_dhcp 11
www 45
root 328
jls 482

Show file yg tdk kosong
% ls -l | awk '$5 > 0'

Show log antar 10 May dan 20 May
% cat *.log | awk '$1 == "May" && ($2 >= 10 && $2 <= 20)'

Show ip dari perintah host
% host www.google.com | awk '/has address/ { print $4 }'

Sulit sekali memahami perintah awk ini..
Tapi emang powerfull bgt..

4. xarg
xarg digunakan untuk mengambil argumen dan digunakan untuk menjalakan program.

Perintah dasar
xargs [flags] [command [args]]

# delete png file
% find ./i/ -name '*.png' | xargs rm


% cat /tmp/somehosts \
| xargs -P10 -I"HOST" -n1 sh -c 'ssh HOST uptime | sed -e "s/^/HOST: /"'


Tiba2 koq laper.. :(
Sampe sini aja dulu...


Taken : semicomplete.com

copy file otomatis

| Tuesday, March 25, 2008

Barusan iseng2 bantu teman bikin script pengcopyan file dgn kondisi tertentu. Berikut scriptnya :

# ee /etc/duplikat
cd /home/rahma/coba
lastfile=$(ls -rt | egrep -v '^d' | tail -20)
for file in $lastfile
do
echo $file
cp $file /home/rahma/coba2
done

Script diatas adalah script yang akan menjalankan duplikasi 20 file terbaru dari folder coba ke folder coba2.
Tinggal di pasang di crontab dan dijalankan sesuai dengan waktu yang diinginkan ^^.

Program saya jalan?

| Thursday, November 22, 2007

Berawal dari insiden matinya source streaming server saya kemarin, saya tak tahu kalau mati *dudulzmodeon*, HP lagi masuk bengkel ples sore itu saya sedang mengunjungi bu dokter jadi tidak ada koneksi internet sama sekali.
Dari dokter gigi saya ke matos ma adek..baru tahu setelah yang shift call ke hp adekQ. Fyuh.. matinya lmy lama *sighhh* gara2 yg jaga juga kagak ngerti adudududu...

So, hari ini otakku yang makin lama makin aus karena jrg digunakan :P mulai dikit2 bekerja.. gimana kalo dibuatin script aja biar ngecek tiap bbrp menit sekali.

Nih contohnya scriptnya, kasih aja nama /etc/cekecek
#!/bin/sh
SERVICE=httpd;
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "$SERVICE service running, everything is fine"
else
echo "$SERVICE is not running"
/etc/rc.d/http
fi

Masukin ke crontab, oven tiap 1 jam sekali :P
59 * * * * /etc/cekecek