Thursday, July 18, 2013

Format Penanggalan di Shell Script Linux Ubuntu (Timestamp Linux / Unix)

Hiyaa...ketemu lagi di blog Tutorial Linux Ubuntu Berbahasa Indonesia. Kali ini mari kita berbicara tentang Timestamp pada linux atau unix! Biasanya kita akan menyertakan timestamp ini pada sebuah file yang dihasilkan dari kegiatan rutin yang dilakukan dalam server kita. Didalam Linux maupun Unix penanggalan biasanya digunakan jika kita membuat file secara otomatis seperti misalnya backup harian, hal ini tentu akan memudahkan kita dalam management file backup. Tanpa hal ini kita akan dibuat pusing oleh pekerjaan kita sendiri, ketika mau mencari file ditanggal tertentu tapi tidak ada patokan jelas yang dapat mempermudah pencarian kita. Maka dari itu penanggalan ini diperlukan. Format penanggalan di linux :


Syntax standard dari penanggalan adalah :
date +"%d-%m-%y"
Output :
14-07-13
Untuk membuat tahun menjadi 4 digit :
date +"%d-%m-%Y"
Output : 
14-07-2013
Untuk menampilkan jam saja :
date +"%T"
Output :
04:42:42
Untuk menampilkan format waktu 12 jam :
date +"%r"
Output :
04:44:21 AM
Untuk menampilkan waktu dalam format HH:MM :
date +"%H:%M"
Output :
04:47
Sekarang bagaimana caranya menampilkan tanggal/waktu didalam variabel shell script?

Cukup tambahkan baris dibawah ini kedalam shell script anda
NOW=$(date +"%m-%d-%Y")

Contoh shell script backup dengan penanggalan
#!/bin/sh

NOW=`date "+%d.%m.%Y.%H"`

tar -cf /path/storage/backup/anda/fileanda.${NOW}.tar /path/file/yang/akan/anda/backup
gzip /pat/storage/backup/anda/fileanda.${NOW}.tar
 
Contoh shell script diatas akan menghasilkan file backup dengan format seperti ini :
fileanda.14.07.2013.15.tar.gz
Akan saya tuliskan atribut penanggalan (date) secara lengkap

%FORMAT StringDescription
%%a literal %
%alocale's abbreviated weekday name (e.g., Sun)
%Alocale's full weekday name (e.g., Sunday)
%blocale's abbreviated month name (e.g., Jan)
%Blocale's full month name (e.g., January)
%clocale's date and time (e.g., Thu Mar 3 23:05:25 2005)
%Ccentury; like %Y, except omit last two digits (e.g., 21)
%dday of month (e.g, 01)
%Ddate; same as %m/%d/%y
%eday of month, space padded; same as %_d
%Ffull date; same as %Y-%m-%d
%glast two digits of year of ISO week number (see %G)
%Gyear of ISO week number (see %V); normally useful only with %V
%hsame as %b
%Hhour (00..23)
%Ihour (01..12)
%jday of year (001..366)
%khour ( 0..23)
%lhour ( 1..12)
%mmonth (01..12)
%Mminute (00..59)
%na newline
%Nnanoseconds (000000000..999999999)
%plocale's equivalent of either AM or PM; blank if not known
%Plike %p, but lower case
%rlocale's 12-hour clock time (e.g., 11:11:04 PM)
%R24-hour hour and minute; same as %H:%M
%sseconds since 1970-01-01 00:00:00 UTC
%Ssecond (00..60)
%ta tab
%Ttime; same as %H:%M:%S
%uday of week (1..7); 1 is Monday
%Uweek number of year, with Sunday as first day of week (00..53)
%VISO week number, with Monday as first day of week (01..53)
%wday of week (0..6); 0 is Sunday
%Wweek number of year, with Monday as first day of week (00..53)
%xlocale's date representation (e.g., 12/31/99)
%Xlocale's time representation (e.g., 23:13:48)
%ylast two digits of year (00..99)
%Yyear
%z+hhmm numeric timezone (e.g., -0400)
%:z+hh:mm numeric timezone (e.g., -04:00)
%::z+hh:mm:ss numeric time zone (e.g., -04:00:00)
%:::znumeric time zone with : to necessary precision (e.g., -04, +05:30)
%Zalphabetic time zone abbreviation (e.g., EDT)

Saya cukupkan dulu Tutorial kali ini. Selanjutnya Insya Allah saya akan membagikan trips trik yang berkaitan dengan timestamp yang mungkin akan berguna untuk anda.

Semoga bermanfaat,
Salam penguin! :)

No comments:

Post a Comment