PersianAdmins:~#date
مشاهد زمان مطابق با UTC
PersianAdmins:~#date --utc
یا مثلا برای نمایش در فرم سفارشی شده میتوانیم از متغیرهای زیر استفاده کنیم:
%% a literal % %a locale's abbreviated weekday name (Sun..Sat) %A locale's full weekday name, variable length (Sunday..Saturday) %b locale's abbreviated month name (Jan..Dec) %B locale's full month name, variable length (January..December) %c locale's date and time (Sat Nov 04 12:02:33 EST 1989) %C century (year divided by 100 and truncated to an integer) [00-99] %d day of month (01..31) %D date (mm/dd/yy) %e day of month, blank padded ( 1..31) %F same as %Y-%m-%d %g the 2-digit year corresponding to the %V week number %G the 4-digit year corresponding to the %V week number %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %n a newline %N nanoseconds (000000000..999999999) %p locale's upper case AM or PM indicator (blank in many locales) %P locale's lower case am or pm indicator (blank in many locales) %r time, 12-hour (hh:mm:ss [AP]M) %R time, 24-hour (hh:mm) %s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension) %S second (00..60); the 60 is necessary to accommodate a leap second %t a horizontal tab %T time, 24-hour (hh:mm:ss) %u day of week (1..7); 1 represents Monday %U week number of year with Sunday as first day of week (00..53) %V week number of year with Monday as first day of week (01..53) %w day of week (0..6); 0 represents Sunday %W week number of year with Monday as first day of week (00..53) %x locale's date representation (mm/dd/yy) %X locale's time representation (%H:%M:%S) %y last two digits of year (00..99) %Y year (1970...) %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension) %Z time zone (e.g., EDT), or nothing if no time zone is determinable
مثال :
PersianAdmins:~#date '+TIME:%H:%M:%S%nDATE:%m/%d/%y'
خروجی بدین شکل است:
TIME:13:07:04 DATE:05/12/07
برای مشاهده کلیه متغییرها از دستور زیر استفاده کنید:
PersianAdmins:~#date --help
تغییر زمان و تاریخ
برای این کار چندین روش وجود دارد که به دو مورد آن میپردازیم :
1-یکی از راحتترین روش ها که در حافظه هم میماند بدین شکل است :
date -s "month/day/year hour:min:sec" date -s "05/12/2007 13:07:04"
ترتیب درتاریخ به صورت سال/روز/ماه میباشد.
2-این روش هم بد نیست ولی شیوه نوشتنش من و به شک میاندازه گاهی اوقات
date monthdayhourminyear date 051213072007
توجه :
این روش ساعت سیستم رو تغییر خواهد داد نه ساعت سخت افزاری(بایوس)
برای مشاهده ساعت سخت افزاری ازاین دستور استفاده می کنیم:
PersianAdmins:~#hwclock
برای تنظیم ساعت سخت افزاری با ساعت سیستم بدین تریتب عمل می کنیم:
PersianAdmins:~#hwclock --systohc
همچنین میتوانیم با استفاده از ساعت سیستم , ساعت سخت افزاری رو بر روی UTC تنظیم کنیم:
PersianAdmins:~#hwclock --utc --systohc
hctosys یعنی زمان و تاریخ سیستم رو بر طبق زمان و تاریخ سخت افزاری هماهنگ کن.
تنظیم time zone
در etc/ فایلی بنام localtime بصورت لینکی از فایل اصلی حاوی اطلاعاتی در مورد time zone شما میباشد.این فایل های حاوی نواحی مختلف زمانی معمولا در usr/share/zoneinfo/ قرار دارد البته بسته به نوع توزیع شما ممکن است متفاوت باشد که با استفاده از locate قابل شناسایی است.
اگر فایل localtime به منطقه زمانی مورد نظر شما لینک نشده است میتوانید با پیدا کردن کشور و ناحیه مورد نظر خود در usr/share/zoneinfo/ آن را به localtime لینک دهید.
مثلا برای ایران بدین ترتیب عمل میکنیم :
PersianAdmins:~#ln -sf /usr/share/zoneinfo/Iran /etc/localtime
استفاده از (NTP (Network Time Protocol
NTP به یک سرور وصل میشود و ساعت اتمی را میگیرد.
نصب :
PersianAdmins:~#apt-get install ntpdatePersianAdmins:~#yum install ntpdate
با ntpdate ساعت سیستم روتنظیم میکنید و از طریق اون ساعت سخت افزاری .
برای تنظیم ساعت و تاریخ باید IP یک سرور را بدانیم و بدین نحو عمل میکنیم :
"ntpdate "server DNS name or IP address
اگر به این پیغام خطا برخورد کردید :
12 Jun 03:05:44 ntpdate[2028]: Can’t adjust the time of day: Invalid argument
PersianAdmins:~#ntpdate -b pool.ntp.org
برای تنظیم ساعت سخت افزاری
PersianAdmins:~#hwclock --systohc
میتوانید از این لینک برای بدست آوردن public time server استفاده کنید
http://www.eecis.udel.edu/~mills/ntp/clock2a.html
برای دقیق نگه داشتن تنظیمات زمان میتوانید از cron job استفاده کنید که دستور زیر را اجرا کند
PersianAdmins:~#ntpdate "server name" && hwclock --systohc
همچنین به این طریق می توانید عمل کنید :
PersianAdmins:~#nano /etc/cron.d/ntpdate 55 6 * * * root /usr/sbin/ntpdate pool.ntp.org >/dev/null
در صورتیکه برای چندین دستگاه خواهان تنظیم زمان هستید بهترین راه استفاده از یک NTP server داخلی میباشد.
استفاده از rdate
rdate مشابه ntpdate عمل میکند با این تفاوت که نمیتوان rdate server راه انداخت.
PersianAdmins:~#rdate "server name" && hwclock --systohc