.TH SG_TIMESTAMP "8" "April 2018" "sg3_utils\-1.43" SG3_UTILS .SH "نام (NAME)" sg_timestamp \- گزارش یا تنظیم برچسب زمان در دستگاه SCSI .SH "خلاصه دستور (SYNOPSIS)" .B sg_timestamp [\fI\-\-elapsed\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-milliseconds=MS\fR] [\fI\-\-no\-timestamp\fR] [\fI\-\-origin\fR] [\fI\-\-raw\fR] [\fI\-\-readonly\fR] [\fI\-\-seconds=SECS\fR] [\fI\-\-srep\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR .SH "توضیحات (DESCRIPTION)" دستور REPORT TIMESTAMP یا SET TIMESTAMP اسکازی (SCSI) را به \fIDEVICE\fR ارسال می‌کند. این دستورات در پیش‌نویس استاندارد SPC\-5 ویرایش ۷ (spc5r07.pdf) مشخص شده‌اند. .PP اگر یکی از گزینه‌های \fI\-\-milliseconds=MS\fR یا \fI\-\-seconds=SECS\fR مشخص شود (نمی‌توان هر دو را با هم مشخص کرد)، دستور SET TIMESTAMP ارسال می‌شود؛ در غیر این صورت، دستور REPORT TIMESTAMP فرستاده خواهد شد. .PP برچسب زمان به صورت تعداد میلی‌ثانیه‌های سپری‌شده از مبدأ زمانی (epoch) 1970\-01\-01 00:00:00 UTC از \fIDEVICE\fR فرستاده و دریافت می‌شود و در یک عدد صحیح بدون علامت ۴۸ بیتی نگهداری می‌گردد. همان مبدأ زمانی در ماشین‌های یونیکس نیز استفاده می‌شود، اما آن‌ها معمولاً تعداد ثانیه‌های سپری‌شده از آن مبدأ زمانی را نگه می‌دارند. دستور date یونیکس و به ویژه قالب "+%s" آن در تبدیل برچسب‌های زمانی به قالب‌های خواناتر برای انسان و بالعکس بسیار سودمند است. بخش «مثال‌ها» را در ادامه ببینید. .PP یک ابزار کمکی به نام sg_sat_datetime با گزینه‌های مشابه برای دسترسی یا تنظیم تاریخ و زمان در یک دستگاه ATA (معمولاً یک دیسک SATA) در دسترس است. ابزار sg_sat_datetime دستورات ATA را از طریق لایه ترجمه SCSI به ATA (موسوم به SAT) ارسال می‌کند. .SH "گزینه‌ها (OPTIONS)" آرگومان‌های گزینه‌های طولانی برای گزینه‌های کوتاه نیز اجباری هستند. .TP \fB\-e\fR, \fB\-\-elapsed\fR فرض می‌کند که برچسب زمان در REPORT TIMESTAMP، زمان سپری‌شده از یک رویداد مانند چرخه راه‌اندازی مجدد برق (power cycle) یا بازنشانی سخت‌افزاری (hard reset) است و خروجی را به صورت ' days hh:mm:ss.xxx' قالب‌بندی می‌کند که در آن hh ساعت (00 تا 23)، mm دقیقه (00 تا 59)، ss ثانیه (00 تا 59) و xxx میلی‌ثانیه (000 تا 999) است. اگر تعداد روزها 0 باشد، عبارت '0 days' نمایش داده نمی‌شود مگر اینکه این گزینه دو بار یا بیشتر داده شود. .TP \fB\-h\fR, \fB\-\-help\fR نمایش پیام راهنمای استفاده و سپس خروج. .TP \fB\-H\fR, \fB\-\-hex\fR پاسخ به REPORT TIMESTAMP را به صورت هگزادسیمال ASCII روی خروجی خطای استاندارد (stderr) چاپ می‌کند. پاسخ رمزگشایی نمی‌شود. .TP \fB\-m\fR, \fB\-\-milliseconds\fR=\fIMS\fR که در آن \fIMS\fR تعداد میلی‌ثانیه‌ها از مبدأ زمانی 1970\-01\-01 00:00:00 UTC است که باید با دستور SCSI SET TIMESTAMP روی \fIDEVICE\fR تنظیم شود. .TP \fB\-N\fR, \fB\-\-no\-timestamp\fR هنگام فراخوانی REPORT TIMESTAMP، این گزینه از نمایش مقدار برچسب زمان (چه به ثانیه و چه به میلی‌ثانیه) جلوگیری می‌کند. این ممکن است در خلوت‌تر کردن خروجی هنگام تلاش برای رمزگشایی مبدأ برچسب زمان مفید باشد (گزینه \fI\-\-origin\fR را ببینید). .TP \fB\-o\fR, \fB\-\-origin\fR داده‌های پارامتر بازگردانده‌شده از REPORT TIMESTAMP شامل یک فیلد «مبدأ برچسب زمان» (timestamp origin) است. هنگامی که این گزینه داده شود، این فیلد پیش از چاپ مقدار برچسب زمان رمزگشایی و نمایش داده می‌شود. عمل پیش‌فرض (یعنی زمانی که گزینه داده نشده باشد) عدم چاپ این فیلد رمزگشایی‌شده است. .br کمیته T10 این فیلد را به عنوان «تازه‌ترین رویدادی که ساعت دستگاهِ گزارش‌شده را مقداردهی اولیه کرده است» تعریف می‌کند. مقدار 0 نشان می‌دهد که یک روشن شدن یا بازنشانی سخت‌افزاری ساعت را مقداردهی اولیه کرده است؛ مقدار 2 نشان می‌دهد که یک دستور SET TIMESTAMP ساعت را مقداردهی اولیه کرده و مقدار 3 نشان می‌دهد که روش دیگری ساعت را مقداردهی اولیه کرده است. .br هنگامی که یک بار استفاده شود، یک رشته توصیفی چاپ می‌شود (در خطی پیش از مقدار برچسب زمان). هنگامی که دو بار استفاده شود، مقدار فیلد TIMESTAMP ORIGIN چاپ می‌شود (در مبنای ده، مقداری بین 0 تا 7 شامل هر دو). هنگامی که سه بار استفاده شود، خطی به فرم 'TIMESTAMP_ORIGIN=' چاپ می‌شود. .TP \fB\-r\fR, \fB\-\-raw\fR پاسخ SCSI REPORT TIMESTAMP (یعنی بافر داده خروجی یا data-out) را به صورت باینری (در stdout) چاپ می‌کند. توجه داشته باشید که با تعیین این گزینه، گزینه‌های \fI\-\-origin\fR و \fI\-\-srep\fR نادیده گرفته می‌شوند. همچنین تمامی پیام‌های خطا و پیام‌های پرگویی به stderr ارسال می‌شوند. .TP \fB\-R\fR, \fB\-\-readonly\fR دستگاه \fIDEVICE\fR را در حالت فقط‌خواندنی باز می‌کند. رفتار پیش‌فرض باز کردن \fIDEVICE\fR در حالت خواندن و نوشتن است. .TP \fB\-s\fR, \fB\-\-seconds\fR=\fISECS\fR که در آن \fISECS\fR تعداد ثانیه‌ها از 1970\-01\-01 00:00:00 UTC است که باید با دستور SCSI SET TIMESTAMP روی \fIDEVICE\fR تنظیم شود. مقدار \fISECS\fR پیش از استفاده در دستور SET TIMESTAMP در 1000 ضرب می‌شود. .TP \fB\-S\fR, \fB\-\-srep\fR تعداد ثانیه‌ها از 1970\-01\-01 00:00:00 UTC را گزارش می‌دهد. این کار با تقسیم مقدار بازگردانده‌شده توسط دستور SCSI REPORT TIMESTAMP بر 1000 انجام می‌شود. .TP \fB\-v\fR, \fB\-\-verbose\fR افزایش سطح پرگویی (یعنی خروجی اشکال‌زدایی). .TP \fB\-V\fR, \fB\-\-version\fR چاپ رشته نسخه برنامه و سپس خروج. .SH "وضعیت خروج (EXIT STATUS)" وضعیت خروج sg_timestamp در صورت موفقیت 0 است. در غیر این صورت به صفحه راهنمای sg3_utils(8) مراجعه کنید. .SH "نکات (NOTES)" بیت‌های TCMOS و SCSIP در صفحه حالت Control extension (به sdparm مراجعه کنید) رفتار برچسب زمان نگهداری‌شده توسط یک \fIDEVICE\fR را تغییر می‌دهند. .PP در حال حاضر تنها پارامترهای «میزان بهره‌وری بر اساس تاریخ و زمان» (Utilization usage rate based on date and time) در صفحه لاگ Utilization (فایل sbc4r09.pdf) از برچسب‌های زمانی استفاده می‌کنند. به ابزار sg_logs مراجعه کنید. دستورات و صفحات اختصاصی سازنده نیز ممکن است از برچسب‌های زمانی استفاده کنند. .SH "مثال‌ها (EXAMPLES)" در ماشین‌های یونیکس (مانند لینوکس، FreeBSD و سولاریس) دستور date هنگام کار با برچسب‌های زمانی کاربردی است. .PP برای واکشی برچسب زمان از یک \fIDEVICE\fR و نمایش آن به شکلی خوانا برای انسان، می‌توان از موارد زیر استفاده کرد: .PP # sg_timestamp \-S /dev/sdb 1448993950 # date \-\-date=@1448993950 Tue Dec 1 13:19:10 EST 2015 # date \-R \-\-date="@1448993950" Tue, 01 Dec 2015 13:19:10 \-0500 .PP دو دستور اخیر date شکل‌های مختلفی از یک تاریخ یکسان را نشان می‌دهند (یعنی ۱۴۴۸۹۹۳۹۵۰ ثانیه از 1970\-01\-01 00:00:00 UTC). دستورات sg_timestamp و date را می‌توان با استفاده از بک‌تیک ترکیب کرد: .PP # date \-R \-\-date=@`sg_timestamp \-S /dev/sdc` Wed, 16 Dec 2015 20:12:59 \-0500 .PP برای تنظیم برچسب زمان روی \fIDEVICE\fR به زمان تقریبی فعلی می‌توان از دستورات زیر استفاده کرد: .PP # date +%s 1448993955 # sg_timestamp \-\-seconds=1448993955 /dev/sdb .PP آن دو خط دستور را می‌توان با استفاده از بک‌تیک در یک خط ترکیب کرد: .PP # sg_timestamp \-\-seconds=`date +%s` /dev/sdb .SH "نویسندگان (AUTHORS)" نوشته شده توسط Douglas Gilbert. .SH "گزارش باگ‌ها (REPORTING BUGS)" گزارش باگ‌ها به . .SH "حق نشر (COPYRIGHT)" حق نشر \(co 2015\-2018 Douglas Gilbert .br این نرم‌افزار تحت مجوز BSD\-2\-Clause توزیع می‌شود. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" .B sdparm(sdparm), sg_logs(sg3_utils), sg_sat_datetime(sg3_utils)