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
sunlink
Mengenal beberapa Unix tool.
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
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 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
script | 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?
script | 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