date
فهرست
مقدمه
این دستور به کاربران اجازه میدهد تا تاریخ و زمان روی سیستم را مشاهده کنند و از آن برای برنامهریزی و مدیریت فایلها و فولدرها استفاده کنند. دستور date برای نمایش تاریخ و زمان در اسکریپتهای شل نیز مفید است. با استفاده از این دستور، میتوانید تاریخ و زمان را به صورت متغیر در اسکریپت خود استفاده کنید و از آن در عملیات مختلفی مانند ساخت فایلهای لاگ یا پشتیبانگیری از فایلها استفاده کنید.
آپشنهای این دستورالعمل
- -d, –date: میتوانید تاریخ و زمان دلخواه را به جای نمایش تاریخ و زمان فعلی سیستم عامل نمایش دهید
- -s, –set: میتوانید تاریخ و زمان سیستم عامل را تنظیم کنید
- -u, –utc, –universal: میتوانید تاریخ و زمان را بر اساس زمان جهانی نشان دهید
- –version: مشاهده نسخه دستور date
- -r, –reference=FILE: میتوانید تاریخ و زمان آخرین تغییر فایل مورد نظر را نمایش دهید
- -s, –set=STRING: میتوانید تاریخ و زمان سیستم عامل را با توجه به رشتهای که وارد میکنید تنظیم کنید
فرمتهای نمایش
فرمت های کنترلی برای نمایش قسمت های مختلفی از تاریخ استفاده میشود، برای مثال ممکن است شما نیاز داشته باشید تا فقط روز هفته، سال و یا unix time را مشاهده کنید، از اینرو شما از فرمت های مختلف استفاده میکنید.
نحوه استفاده از این فرمت ها به این صورت است که شما از دستور
date
و پس از آن فرمت مورد نظر درداخل کوتیشن استفاده میکنید.
.هر فرمت یک کاراکتر بخصوص دارد که باید از % پیش از کاراکترش استفاده شود مثال، نمایش روز ماه:
$ date +"%d"
%a: نمایش نام کوتاه هفته در لوکال ( Sun برای یکشنبه)
%A: نمایش نام کامل هفته در لوکال ( Sunday برای یکشنبه)
%b: نمایش نام کوتاه ماه در لوکال ( Jan برای ژانویه)
%B: نمایش نام کامل ماه در لوکال ( January برای ژانویه)
%c: نمایش تاریخ و زمان در لوکال ( Thu Mar 3 23:05:25 2005)
%C: (مانند %Y)، نمایش قرن با این تفاوت که دو رقم آخر حذف میشود (مثلاً 20 برای 2020)
%d: نمایش روز ماه (مثلاً 01 برای اولین روز ماه)
%D: نمایش تاریخ %m/%d/%y
%e: نمایش روز ماه، با فاصله پر کردن مشابه %_d
%F: نمایش تاریخ کامل، مشابه %Y-%m-%d
%g: نمایش دو رقم آخر سال برای شماره هفته ISO (مشابه %G)
%H: نمایش ساعت در فرمت 24 ساعته (مثلاً 01 و 23)
%I: نمایش ساعت در فرمت 12 ساعته (مثلاً 01 و 11)
%j: نمایش روز از سال (مثلاً 001 تا 366)
%k: نمایش ساعت، با فضای خالی پر شده (مثلاً 02 و 23)؛ مشابه %_H
%l: نمایش ساعت، با فضای خالی پر شده (مثلاً 1 و 11)؛ مشابه %_I
%m: نمایش ماه (مثلاً 01 تا 12)
%M: نمایش دقیقه (مثلاً 00 تا 59)
%n: نمایش یک خط جدید
%N: نمایش نانوثانیهها (000000000 تا 999999999)
%p: نمایش معادل لوکال از AM یا PM؛ اگر نامعلوم است، خالی باقی میماند.
%S: نمایش ثانیه (مثلاً 00 تا 60)
%y: نمایش دو رقم آخر سال (مثلاً 00 تا 99)
%Y: نمایش سال (مثلاً 2021)
%z: نمایش منطقه زمانی عددی +hhmm (مثلاً -0400)
%:z: نمایش منطقه زمانی عددی +hh:mm (مثلاً -04:00)
%::z: نمایش منطقه زمانی عددی +hh:mm:ss (مثلاً -04:00:00)
مثال ساخت اسکریپت بکاپ
برای نمایش یکی از کاربرد های این دستور ما یک اسکریپت بکاپ مینویسیم
که این اسکریپت هر ساعت اجرا میشود و یک بکاپ کامل از دایرکتوری
/home/
میگیرد.
برای اینکه اسکریپت هر ساعت اجرا شود، آن را در دایرکتوری
/etc/cron.hourly/
قرار و دسترسی اجرا را با دستور.
chmod +x /etc/cron.daily/homebkp.sh
به فایل میدهیم(با فرض اینکه نام فایل
homebkp.sh)
است.
محتوای اسکریپت ما به این صورت است که متغییری برای ذخیره
تاریخ به صورت سال-ماه-روز تعریف میشود،
در خط بعدی با دستور
tar
از مسیر مورد نظر بکاپ میگیریم و بجای نام از تاریخ داخل متغییر
استفاده میکنیم.
dt=`/usr/bin/date +"%Y-%m-%d"`
/usr/bin/tar -cf /mnt/bkps/$dt.tar /home/
Author: