Shell dan Scheduling pada Linux.
Berawal dari tugas yang saya tidak tahu kalau ada tugas dan suruh ngapain.. he.. lol. Tanpa tanya ke teman, langsung aja buat pokoknya tentang shell dan sceduling. Oke, kali ini kita akan kupas tuntas tentang kedua tema tersebut.
Shell
Pertama shell, apa sih itu shell? Apakah sama dengan terminal dan console? Lalu, apakah bash itu sendiri? Kebanyakan orang sering tertukar terminologi dari istilah-istilah tersebut. Untuk penjelasan mengenai shell sebagai berikut.Shell merupakan sebuah program penerjemah perintah yang menghubungkan komunikasi antara pengguna dengan kernel (inti) sistem operasi. Dengan begitu pengguna dapat memerintahkan sistem operasi apa yang harus dikerjakannya. Sistem operasi linux memilik lebih dari satu shell. Tujuannya agar meningkatkan kehandalan dari sistem operasi linux karena masing-masing shell memiliki kelebihan dan kekurangan masing-masing. Jadi pengguna dapat bergantian memilih shell yang paling baik untuk menyelesaikan pekerjaannya tertentu.
Shell yang dimiliki linux antara lain Bourne Again Shell (bash), Bourne Shell (sh), C shell (csh), Korn shell (ksh), dan masih banyak lagi. Kalau pengen tahu yahooing aja, semoga aja nemu.. he... Shell yang sering dipakai adalah Bourne Again Shell karena merupakan pengembangan dari Bourne Shell dan memiliki kelebihan dari Korn Shell dan C Shell.
Dua istilah sudah dibahas, lalu apa yang dimaksud terminal dan console? Nah, untuk terminal (tty) adalah sebuah program wrapper yang menjalankan shell yang berfungsi sebagai environment masukan dan keluaran (input-output). Sementara konsol adalah istilah fisik (bentuk fisik) dari terminal. Untuk terminal dan console dapat gambarkan seperti software dan hardware. Lalu contohnya terminal apa aja..? Banyak bangeets kawan!
Biasanya masing-masing DE (Desktop Environment) memiliki terminal khas masing-masing. Contohnya DE GNOME mempunyai Gnome-Terminal, ROXTerm, Eterm, Rxvt dan Guake, trus KDE kesukaan saya mempunyai Konsol dan Yakuake, lalu yang khas dengan GTK+ ada Tilda, trus DE LXDE punya yang namanya LXTerminal, terakhir si lincah XFCE punya XFCE4. Untuk yang lainya bisa yahooing aja.
Bash
Waduh.. jadi nglantur nih arah pembicaraannya. Padahal mau nugasss. Oke, kembali ke masalah Bash. Berbeda pada DOS, Bash memiliki sifat case sensitive, tidak menggunakan format file dan menggunakan "\" sebagai pemisah direktori dan "/" sebagai escape characther sementara di DOS memakai "\" sebagai argument delimiter dan "/" sebagai pemisah direktori.1. Karakter "\"
Escape character, untuk menggunakan karakter khusus pada perintah shell. Conto : cd Dokumen\ Kuliah
2. Karakter "/"
Pemisah direktori. Contoh : cd \home\arief
3. Karakter "."
Atribut untuk menyembunyikan file/folder. Contoh folder tersembunyi .wine
4. Karakter ".."
Karakter untuk menunjukan parent directory. Contoh : cd ..
5. Karakter "~"
Karakter untuk menunjukan directory home. Contoh : cd ~
6. Karakter "*"
Karakter untuk mewakili beberapa karakter yang belum diketahui. Contoh : find TP*
7. Karakter "{}"
Karakter untuk mewakili beberapa nilai dalam range yang telah ditentukan. Contoh : touch TP{1..5}Basdat.sql
8. Karakter "?"
Karakter untuk mewakili satu karakter yang belum diketahui. Contoh : find TP?Basdat.sql atau find TP??asdat.sql
9. Karakter "|"
Karakter untuk mengalihkan output dari satu perintah ke perintah lainnya. Contoh : ls | more
10. Karakter ">"
Karakter untuk menyalin output suatu perintah ke file teks.
11. Karakter ">>"
Karakter untuk menambahkan output suatu perintah ke file teks.
12. Karakter ";"
Karakter untuk mengeksekusi lebih dari satu perintah.
13. Karakter "&&"
Karakter untuk mengeksekusi lebih dari satu perintah dengan syarat perintah pertama tidak error.
14. Karakter "&"
Karakter untuk mengeksekusi lebih dari suatu perintah di background.
Selanjutnya dalam bentuk apakah perintah tersebut? Apakah ada begitu saja? Coba teman-teman buka direktori /bin lalu hapus nano dan selanjutnya panggil "nano fileteks.txt". Perintah-perintah tersebut adalah sebuah program yang kita dapat mengeksekusinya dengan memanggil nama file-nya melalui Shell.
Perintah-perintah tersebut juga memiliki argument atau atribut pilihan sesuai kebutuhan. Biasanya format penulisannya seperti ini
command [-argument] [-argument] [--argument] [file]
Contoh :
cat -n belajar.sh
Selain itu kita juga bisa membuat program/perintah itu loh dan maaf mungkin lain kali saja penulis bahas karena ini tugass. Terakhir ada perintah-perintah pada bash yang berisi petunjuk mengenai perintah-perintah lain. Beberapa diantaranya adalah info dan man. Selain itu ada juga atribut untuk mengetahui petunjuk singkat mengenai suatu perintah, yaitu [--help] atau [-h].
Scheduling
Pokok bahasan yang tidak kalah penting kali ini adalah scheduling. Dengan sistem operasi linux, pengguna dapan membuat jadwal suatu perintah. Misalnya kita sudah membuat terminal program/perintah dan ingin otomatis berjalan pada background. Pada sistem operasi linux, kita dapat membuat penjadwalan beberapa diantaranya menggunakan perintah "crontab" dan "at".Crontab
Perintah crontab dapat diinstall dengan perintah root apt-get install crontab. Untuk membuat penjadwalan jalankan perintah crontab -e. Lalu isi dengan format penulisannya * * * * * perintah. Penjelasannya sebagai berikut :* pertama untuk menentukan menit ke berapa dari 0 - 59 perintah tersebut dijalankan.
* kedua untuk menentukan jam ke berapa dari 0 - 23 perintah tersebut dijalankan.
* ketiga untuk menentukan hari ke berapa dari 1 - 31 perintah tersebut dijalankan.
* keempat untuk menentukan bulan ke berapa dari 1 - 12 perintah tersebut dijalankan.
* kelima untuk menentukan hari ke berapa dari 0 - 6 (minggi - sabtu) perintah tersebut dijalankan.
Contoh untuk menjalankan dalam background setiap tigapuluh menit pada hari jumat program terminal yang telah kita buat adalah */30 * * * 5 ./belajar.sh.
Terdapat juga format waktu khusus seperti :
@hourly, untuk menjalankan perintah setiap jam yang fromat manualnya 0 * * * *
@daily, untuk menjalankan perintah setiap hari yang fromat manualnya 0 0 * * *
@weekly, untuk menjalankan perintah setiap minggu yang fromat manualnya 0 0 * * 0
@monthly, untuk menjalankan perintah setiap bulan yang fromat manualnya 0 0 1 * *
@yearly atau @annualy, untuk menjalankan perintah setiap tahun yang fromat manualnya 0 * * * * *
@reboot, untuk menjalankan perintah setiap startup.
Untuk melihat penjadwalan yang telah kita buat, gunakan perintah crontab -l dan untuk menghapusnya gunakan perintah crontab -r.
at
Selain crontab, perintah yang seing dipakai untuk masalah penjadwalan adalah at langsung mengeksekusi perintah at diikuti atribut waktu. Contoh at 05:00 AM. Selanjutnya masukan perintah-perintah yang ingin dieksekusi. Contoh memanggil program alarm, ./alarm.sh. Lalu keluar dari eksekusi at dengan Ctrl + D. Selesai, selamat anda tidak akan kesiangan lagi.. he..Nah, selanjutnya untuk mengetahui penjadwalan yang kita telah buat dapat menggunakan perintah atq san utnuk menghapus penjadwalan tersebut, gunakan perintah atrm [nomor perintah].
0 komentar: