Linux Shell Scripting Part 2

  • Membuat shell script yang menampilkan data user linux dan user id saat ini
#! /bin/bash

echo "username : $USER"
echo "user id : $EUID"

$USER = variabel untuk menampilkan username login saat ini
$EUID = variabel untuk menampilkan user ID login saat ini

Output ketika kita jalankan script ini adalah sbb:

  • Membuat shell script untuk menampilakn data pencarian file di direktori /etc yang memiliki ukuran file 10kb
#! /bin/bash

sudo find /etc -type f -size 10k

sudo = untuk akses root karena ingin mengakses direktori /etc
type = untuk menentukan jenis yang akan dicari, dalam case ini adalah file (f)
size = untuk memfilter berdasarkan ukuran file, dalam case ini adalah 10 Kb (10k)

Output ketika kita jalankan script ini adalah sbb:

  • Membuat shell script untuk mengalihkan standar output menjadi standar eror sebagai informasi ke user
#! /bin/bash

echo "Ini adalah output dari script"
echo "Ini adalah output error sebagai informasi ke user">&2

>&2 = mengalihkan standar output ke standar error

Output dari script tersebut adalah sbb :

Continue reading “Linux Shell Scripting Part 2”

Linux Shell Scripting

Shell scripting merupakan suatu proses automatisasi dari beberapa perintah yang kita jalankan kepada sistem. Contoh konkritnya seperti ini, seorang admin ingin melakukan backup harian yang meliputi: memfilter file yang ingin di backup, membuat direktori backup berdasarkan tanggal, dan terakhir membuat backup file tersebut pada direktori tadi. Nah hal ini tentu time consuming sekali apalagi jika proses tersebut merupakan daily job.

Solusi dari permasalahan tersebut adalah membuat shell script yang isinya adalah perintah untuk menjalankan serangkaian proses di atas. Sekarang jika si admin ingin membuat backup, ia hanya tinggal menjalankan satu command saja, yaitu tinggal memanggil script tersebut.

Berikut ini adalah use case dari proses filtering file dan pembuatan shell script :

Filter Data dari Sebuah File

Sebagai contoh kita memiliki file listnama.csv yang berisi :

rudi,tabuti,Sizuoka,rudtab@gmail.com
nobi,nobita,Tokyo,nobi@gmail.com
kapten,tsubasa,Sizuoka,kapten@gmail.com
yugi,muto,Tokyo,yug@ccc.com

Untuk mendapatkan file dengan filter yang menampilkan user dengan domisili Tokyo dengan kondisi terurut, maka dapat kita ketikkan command sbb:

cut -d, -f1,3 listnama.csv | grep Tokyo | sort >  listnama_filtered.csv

cut : command parsing pada setiap baris
-d : menyatakan delimitasi dari setiap kolom. Pada case ini adalah koma (,)
-f: menyatakan kolom yang ingin ditampilkan. Pada case ini adalah kolom pertama (nama user) dan ketiga (nama kota)
grep : perintah untuk memfilter berdasarkan kata yang kita tentukan
sort : untuk melakukan pengurutan sesuai abjad
>: menyimpan hasil ke dalam sebuah file

Output dari listnama_filter.csv adalah sbb:

Continue reading “Linux Shell Scripting”

Linux Basic Command Part 3

Berikut ini beberapa command linux berdasarkan use case tertentu :

  • Seorang admin ingin membuat sistem agar suatu user tertentu yang login ke server Ubuntu selalu mengupdate password setiap kali login.
sudo -i
adduser user_tertentu
passwd -e user_tertentu
  • Seorang admin ingin agar user tertentu memiliki akses root atau admin.
usermod -a -G user_tertentu
  • Seorang admin ingin mencari semua file pada folder /etc dengan permission read/write/execute untuk user dan read untuk group dan other dan menyimpannya pada file /tmp/hasilsearch
find /etc -type f -perm 744 > /tmp/hasilsearch
  • Seorang admin ingin mendapatkan file pengguna mesin Linux dengan UID pada setiap barisnya dan diganti dengan menggunakan huruf kapital. Admin tsb akan menyimpan modifikasi file tsb pada file tmp/userlinux

step 1 : akses list user linux

sudo -i
cat /etc/passwd

step 2: memodifikasi tampilan yaitu hanya menampilan username (kolom#1) dan UID (kolom#3) dengan command awk dengan delimiter “:”

cat /etc/passwd | awk -F: '{print $1,$3}'

step 3: mengubah dari huruf kecil ke huruf kapital

cat /etc/passwd | awk -F: '{print $1,$3}' | tr '[:lower:]' '[:upper:]'

step 4: menyimpan file

cat /etc/passwd | awk -F: '{print $1,$3}' | tr '[:lower:]' '[:upper:]' > /tmp/userlinux
  • Seorang admin ingin membuat backup secara berkala para archieve /var/log dengan nama file /tmp/varlog.tgz
tar czvhf /tmp/varlog.tgz /var/log

Linux Basic Command Part 2

Membuat User Baru

Di sini kita akan membuat user rudi_tabuti

adduser rudi_tabuti

Memberikan Priviledge Sudoers

Sudoers merupakan priviledge level admin pada linux, kita akan memberikan sudoers kepada rudi_tabuti

usermod -aG sudo rudi_tabuti

Membuat Folder data, backup, dan arsip

mkdir data
mkdir backup
mkdir arsip

Membuat File pada Direktori data dan arsip

cd data
echo "Ini adalah dokumen" > dokumen.txt
cd ..
cd arsip
echo "Ini adalah dokumen kedua" > dokumen2.txt

Membuat Direktori Baru pada Folder backup

cd backup
mkdir inifolder

Backup File dokumen.txt ke Folder inifolder

Metode backup bisa menggunakan hardlink ataupun softlink, perbedaannya adalah pada hardlink jika file masternya terjadi perubahan, misalnya dipindahkan, maka file backup nya tidak akan terpengaruh. Sedangkan pada metode softlink, file backupnya akan terpengaruhi oleh file masternya.

Pada case ini kita akan menggunakan metode hardlink

cd data
ln dokumen.txt /home/rudi_tabuti/backup/inifolder/dokumen_backup.txt

Memindahkan File dokumen.txt ke Folder arsip

cd data
mv dokumen.txt /home/rudi_tabuti/arsip

Mengarsip Semua File pada Direktori arsip

Untuk mengarsip kita bisa menggunakan command tar. Berikut ini adalah option dari tar :

tar -cf arsip_dokumen.tar dokumen.txt dokumen2.txt

Memastikan File dokumen_backup.txt Masih Dapat Terbaca

Karena menggunakan metode hardlink, maka setelah file masternya dipindahkan, file backupnya tetap akan bisa terbaca.

cd /backup/inifolder
cat dokumen_backup.txt

Membuat Direktori ekstrakdata di dalam Direktori /var

Untuk dapat membuat direktori di dalam direktori /var, maka permission nya harus diubah terlebih dahulu, untuk mengubah permission kita perlu masuk ke mode admin

sudo -i
chmod o+w /var
cd var
mkdir ekstrakdata

Mengekstrak File arsip_dokumen ke dalam Folder ekstrakdata

cd /home/rudi_tabuti/arsip
tar -xf arsip_dokumen.tar -C /var/ekstrakdata

Linux Basic Command

Berikut ini adalah beberapa basic command yang ada di Linux Ubuntu Server:

Membuat User Baru

adduser nama_user

Memberikan User Baru Akses Root

usermod -aG sudo nama_user

Login ke User Baru

su - nama_user

Masuk ke Mode Root

sudo -i

Melihat List User di Ubuntu

ls -alh /home

Membuat Direktori Baru

mkdir -p nama_folder

Membuat Sebuah File txt

echo "Ini adalah contoh text" >> data.txt

Membuka Isi File

cat data.txt

Copy File ke Suatu Direktori

cp data.txt /home/nama_user/nama_folder/data_copy.txt

Mengubah Permission Folder Beserta Isinya

Contoh User bisa RWX , Group bisa RX, Other bisa R

400+200+100+40+10+4 = 754

Bits in absolute mode
chmod -R 754 nama_folder

Mengecek Permission

file permission syntax explained
ls  -l /home/nama_user/nama_folder

Membuat Direktori di Folder /var

Cek dahulu permission di folder /var

ls -l

Karena other hanya x, maka perlu change permission untuk bisa write

chmod o+w /var

Setelah itu baru bisa membuat folder di folder /var

cd /var
mkdir -p folder_mydata

Memindahkan File data.txt ke folder_mydata

Pertama pindah direktori ke tempat data.txt berada

cd /home/nama_user/nama_folder

Kemudian mulai pindahkan file

mv data.txt /var/folder_mydata

Menambahkan Text di data.txt

Pertama pindah direktori ke tempat data.txt sekarang berada

cd /var/folder_mydata

Kemudian mulai menambahkan text

echo "Ini adalah text tambahan" >> data.txt

Mengecek kembali isi data.txt

cat data.txt

Apakah Itu DevOps ?

Saat ini telah muncul banyak istilah dan bidang baru di dalam dunia kerja IT, salah satunya adalah DevOps. Maraknya era digital disertai dengan kebutuhan apps yang semakin banyak dengan berbagai fungsinya. Siapakah yang membuat apps-apps tersebut? Mereka disebut para developer, mereka membuatapps mulai dari nol! Mulai dari mendesain aplikasi, menulis code, tes debug , hingga mengeksekusi source code tersebut. Pertanyaannya apakah sampai di situ aplikasi tersebut sudah bisa dinikmati oleh pelanggan? Tentu belum karena aplikasi tersebut masih ada di laptop para developer! Butuh tim yang disebut dengan operation untuk mengupload source code aplikasi tersebut ke server dan menjalankan testing sepenuhnya. Nah, mulai kebayang kan apa itu DevOps ?

Pada jaman dahulu kala (bukan jaman dinosaurus), proses develop dan operate benar-benar merupakan dua divisi yang terpisah. Karena tidak bersinergi, maka developer menjadi tidak memiliki pekerjaan ketika source code sudah diserahkan kepada divisi operation. Developer harus menunggu lama untuk mengetahui apakah aplikasi yang didevelop dapat dideploy tanpa bug di server oleh tim operation. Pun demikian halnya dengan tim operation, bisa jadi tidak ada kesesuaian antara server untuk mendeploy dengan server tes lokal milik developer.

Nah, sekarang dengan adanya behavior DevOps, tim developer dan tim operation adalah satu kesatuan yang dimudahkan dengan automatisasi. Jadi DevOps bukanlah tools atau divisi ya.. melainkan suatu sistem kerja atau filosofi kerja antara developer dengan operation yang berkesinambungan. Tujuan dari DevOps tak lain adalah mempercepat proses developing aplikasi ataupun updating aplikasi.

Ada beberapa pondasi dari DevOps , yaitu :

  • Continuous Integration => semangatnya yaitu menggunakan code repository dalam pengembangan apps/software. Code Repository ini memungkinkan untuk buld dan tes secara otomatis dan berkelanjutan, manfaatnya adalah jika ada temuan bug makan dapat segera ketauan.
  • Continuous Delivery => yaitu proses dalam perubahan, pengujian, dan peluncuran apps/sw secara berkelanjutan. Tujuan utamanya adalah kecepatan dalam menghasilkan sw/apps yang sesuai diinginkan oleh pasar/consumer.
  • Continuous Deployment => yaitu proses testing dan deployment yang berkelanjutan. Dengan adanya banyak versi dari apps yang dihasilkan oleh continuous integration dan delivery, proses testing juga dilakukan dengan otomatisasi
  • Infrastructure as a Code => yaitu memiliki suatu produk yang didefinisikan dalam kode yang dapat diprogram dan distandardisasi. Contohnya adalah dalam ekosistem Mac, si A telah menggunakan dan terbiasa dengan laptop Mac nya selama bertahun-tahun. Namun tiba saatnya ia harus mengganti laptopnya ke versi yang terbaru. Di laptop yang baru ia hanya perlu login ke akunnya, dan ekosistem(pengaturan,apps,dsb) di laptop Mac yang lama dapat dengan mudah ditransfer ke laptop yang baru.

Sebagai kesimpulan, DevOps saat ini sangat diperlukan dalam dunia IT karena kebutuhan manusia akan apps dan sw juga semakin meningkat seiring berkembangnya era digital.

Kolam Renang yang lagi Ngehits, Bukit Gibeon

Bismillah postingan pertama di 2017

Sejak akhir tahun 2016 lalu banyak masyarakat Sumut dan sekitar yang berwisata ke tempat pemandian baru di Sibisa dekat danau Toba, Bukit Gibeon namanya. Saya pun penasaran seberapa menariknya pemandian yang satu ini kenapa sampai menarik ribuan pengunjung. Letaknya berada di Desa Sibisa, sekitar 25 menit perjalanan darat dari Parapat. Jika dari parapat nanti belok kanan pas ada belokan dengan papan penunjuk arah ke bandara Sibisa.

20170113_092520

Masuk ke kawasan Bukit Gibeon, saya cukup takjub dengan gapuranya yang warnanya ungu. Di sana kami jumpa dengan loket yang mewajibkan kami membayar tiket masuk 10.000 per orang dewasa + parkir mobil 5000. Dari loket tersebut jalan mulai bagus dan diaspal.. ada tanda-tanda telah dipugar demi suksesnya tempat wisata ini. And well done.

Continue reading “Kolam Renang yang lagi Ngehits, Bukit Gibeon”

Seatbelt Pesawat

Sering naik pesawat membuat sy keheranan terhadap salah satu perbuatan yang sering dilakukan oleh para penumpang. Setiap pesawat beres landing, pasti selalu bersautan terdengar bunyi ‘ceklik’ suara seatbelt dilepas. Padahal ada imbauan utk tetap mengenakan seatbelt sampai pesawat parkir dalam posisi sempurna. Lampu tanda seatbelt pun masih menyala. Diumumkan pula dengan duo bahasa. Menurut saya ini aneh.. apa untungnya dengan melepas seatbelt duluan. Toh pesawat juga belum berhenti..mau turun juga gabisa. Tapi tiap orang pasti memiliki alasan tersendiri.. berikut yang dapat saya simpulkan

  • Perut buncit super kegendutan. Pasti penumpang ini merasa tersiksa duduk di kursi ekonomi selama penerbangan berlangsung. Buat duduk aja sempit, apalagi pake seatbelt. Jadi begitu pesawat landing ada kelegaan yang haqiqi di hatinya untuk melepas seatbelt.
  • Ikut trend. Tipe penumpang ini merasa cupu dan tidak gaul bila tidak ikutan melepas seatbelt. Merasa dirinya nanti dicap sebagai orang yg baru pertama naik pesawat, maka akhirnya ikut trend ceklik ceklik seatbelt
  • Trensetter.Tipe penumpang ini merasa dirinya harus menjadi pusat perhatian orang di tengah keheningan. Maka tak heran jika penumpang ini rela lepas-pasang seatbelt sampai tiga kali untuk menciptakan bunyi ceklik tiga kali.
  • Berbahasa Swahili. Tipe penumpang ini tidak bisa bahasa Indonesia maupun English, jadi terpaksa dia tidak mengerti imbauan yang diberikan. Dan akhirnya terbawa arus tipe Ikut Trend.
  • Lupa urutan. Tipe penumpang ini biasanya lesnya di GO.. Contohnya ada pada pertanyaan soal  berikut: Manakah urutan di bawah ini yang mencerminkan tindakan yang benar?
    a. Berhenti – lepas seatbelt – turun – ngopi
    b. Lepas seatbelt – berhenti – turun – ngopi
    c. Lepas seatbelt – berhenti – ngopi – turun
    d. Lepas seatbelt – ngopi- turun – berhenti
    Jika penumpang tersebut adalah alumni GO, dengan kecanggihan teknik eliminasi jawaban, certainly dia akan memilih jawaban b.

Inspirasi dari Tanah Eropa (Resensi)

Pagi itu seperti biasa sebelum berangkat ke kantor saya tengah scroll scroll timeline fesbuk then suddenly a wild post appeared. Hehe..rupanya post dari salah satu teman lama yang promosi buku barunya. Tanpa pikir panjang saya pun ikut preorder sampe lupa bayar. Untunglah ditagih sama penulisnya.

Ga lama, kurang lebih beberapa minggu kemudian, bukunya sudah tiba di meja saya lengkap dengan bonus keychain (thanks ya..). Jadi buku apakah yg saya semangat beli ini? Judulnya “Inspirasi dari Tanah Eropa , kisah dua pemuda muslim yang belajar di Eropa” karya Ahmad Ataka & Ario Muhammad. Membaca judulnya saja langsung membuat saya teringat akan cita cita saya yg belum kesampean, Selfi di budapest. Eh salah, lebih tepatnya kuliah di Eropa.Walau tak pernah saya ungkapkan secara gamblang, tp siapa yang tak mau melanjutkan sekolah di Eropa dan memberi makan burung di taman. Entah kenapa cita cita itu terkikis semenjak masuk dunia karir. Untunglah saya nonton film Rudi Habibie sama baca buku ini.
Sesuai judulnya, buku ini menceritakan kisah-kisah kedua penulis mengarungi dunia yang dibalut dalam cerita sederhana yang inspiratif dan penuh dengan quotes kehidupan. Yang menarik adalah latar kedua penulis ini bukanlah bangsawan berdarah biru -anggap saja rakyat biasa- namun bisa sampai titik di mana keberadaannya “dilihat” oleh dunia. Tentu ini bisa menjadi cerita penyemangat yang bagus bahwa semua orang memiliki kesempatan yang sama. Yang berbeda tentu usaha yang dikeluarkan tiap tiap individu. Di buku ini juga ada kisah menarik bagaimana di balik setiap keberhasilan yang kita peroleh, ada usaha keras yang menyertainya yang mungkin orang lain tak melihatnya.

Saya jadi teringat akan Usain Bolt yang baru dapat 3 gold medal di olympic tahun ini. Dilihat dari perspektif orang banyak tampak dia tanpa kesulitan mencapai garis finis di depan kompetitornya. Orang jadi menilai ini adalah bakat atau turunan atau semacamnya. Namun kuncinya tentu bukan itu. Dalam salah satu videonya, dia menceritakan bagaimana dia berlatih setiap hari sampai melampui batas fisik dan dilakukan secara rutin. Wow.

Back to book, satu lagi yang menarik adalah saya jadi bisa melihat pandangan baru tentang dunia Phd. Saya suka kata penelitian, itu mengingatkan saya akan tugas akhir sewaktu kuliah di mana setiap hari rasanya tidak tenang karna ada sesuatu yang belum terjawab sampai pada level saya tidak tau apa yang sebenarnya saya cari, wkwkw. Membaca buku ini saya suka heran, rupanya ada banyak orang yang hobinya baca paper. Ini cakrawala baru.

Okay jadi pada kesimpulannya tentu buku ini recommended untuk dibaca, terutama untuk generasi pemudi pemuda. Karna sesuai lirik lagu, masa yang akan datang kewajibanmulah, buku ini bisa memberi real inspiration dari pengalaman kedua penulis.

Siantar, 21 Agustus 2016.

Ditulis via hp di saat mati lampu.

Foto by jepretan sendiri

Mampir ke TB Silalahi Museum

Siapa yang ga kenal dengan kota Balige, ibukota dari kabupaten Toba Samosir, tempat di mana memandang eloknya Danau Toba sudah menjadi hal yang biasa. Yap, kota ini memang berbatasan langsung dengan Danau Toba, jadi bisa dibayangkan dong luasnya Danau Toba ini.. perjalanan darat dari Prapat sampai Balige selama 2 jam semua berbatasan dengan danau. Selain danau, berbicara tentang Kota Balige tentu mengingatkan kita sama tempat ikoniknya, yaitu pasar tradisional yang berbentuk rumah adat Batak. Selain itu di kota ini bentornya pun juga ikonik, yaitu pake vespa.

Namun sayang sekali saya jalan-jalan ke Balige bukan untuk naik vespa, namun saya sedang cek user experience pelanggan berbumbu mencari pokemon. Berkeliling kota Balige mencari pokestop akhirnya mengantarkan saya ke pintu gerbang TB Silalahi Museum, museum pribadi TB Silalahi sekaligus museum sejarah suku Batak. Karna saya tengok banyak pokestop, akhirnya saya iseng masuk ke museum. Saat melangkah ke pintu masuk yang cukup megah, saya distop tidak diperbolehkan masuk. Rupanya saya masuk lewat pintu keluar.

IMG_20160809_121807
Berpose bersama patung TB Silalahi

Masuk ke dalam museum TB Silalahi, kita langsung disuguhkan  patung Pak Silalahi dengan macan. Saya kurang mengerti korelasinya, namun bisa diduga ini untuk menampilkan kesan garang. Tak lupa saya pun berfoto. Ada juga helikopter mini yang saya cek-cek walau belum pernah naik helikopter, ini helikopter asli. Kesan saya menengok komplek museum ini adalah ternyata besar dan modern arsitekturnya. Saya pun masuk ke bangunan museum pribadi Pak Silalahi. Oiya yang belum tahu tentang TB Silalahi silakan googling, namun sedikit cerita beliau adalah mantan Menpan pada masa pemerintahan Soeharto.

-lanjut baca…>