SYSTEMD.TIME(7)

الاسم
systemd.time - مواصفات الوقت والتاريخ

الوصف

في systemd، تُعرض الطوابع الزمنية والفترات الزمنية وأحداث التقويم، ويمكن تحديدها بتراكيب وثيقة الصلة.

عرض الفترات الزمنية

تشير الفترات الزمنية إلى مدد زمنية. عند العرض، يعرض systemd الفترات الزمنية كسلسلة من القيم الزمنية مفصولة بمسافات، كل منها مُلحقة بوحدة زمنية. مثال:

    2h 30min

جميع القيم الزمنية المحددة تُجمع. لذا يشير ما سبق إلى 150 دقيقة. العرض مستقل عن الإعدادات المحلية، وتُستخدم الأسماء الإنجليزية فقط للوحدات الزمنية.

تحليل الفترات الزمنية

عند التحليل، يقبل systemd نفس تركيب الفترة الزمنية. يمكن حذف المسافات الفاصلة. الوحدات الزمنية التالية مفهومة:

    • usec, us, μs

    • msec, ms

    • seconds, second, sec, s

    • minutes, minute, min, m

    • hours, hour, hr, h

    • days, day, d

    • weeks, week, w

    • months, month, M (مُعرّفة كـ 30.44 يومًا)

    • years, year, y (مُعرّفة كـ 365.25 يومًا)

إذا لم تُحدد وحدة زمنية، يُفترض عمومًا الثواني، لكن توجد بعض الاستثناءات وتُحدد على هذا النحو. في حالات قليلة، يُقبل أيضًا "ns" و "nsec"، حيث تسمح دقة الفترة الزمنية بذلك. التحليل مستقل عمومًا عن الإعدادات المحلية، ولا تُقبل الأسماء غير الإنجليزية للوحدات الزمنية.

أمثلة على مواصفات الفترة الزمنية الصالحة:

    2 h
    2hours
    48hr
    1y 12month
    55s500ms
    300ms20s 5day

يمكن استخدام أمر timespan من systemd-analyze(1) لتطبيع فترة زمنية نصية لأغراض الاختبار والتحقق.

داخليًا، يعمل systemd عمومًا بدقة زمنية بالميكروثانية، بينما تكون الوحدة الزمنية المبدئية في الفترات الزمنية القابلة للتكوين من قبل المستخدم هي الثواني عادةً (انظر أعلاه). يصبح هذا التفاوت مرئيًا عند مقارنة نفس الإعدادات في تركيب ملف الوحدة (عالي المستوى) مع خصائص D-Bus المطابقة (منخفضة المستوى أكثر) (وهي ما يعرضه أمر show من systemctl(1)). الأولى تُلحق عادةً بـ "...Sec" للإشارة إلى الوحدة المبدئية للثواني، بينما تُلحق الأخيرة عادةً بـ "...USec" للإشارة إلى الوحدة الزمنية الأساسية منخفضة المستوى، حتى لو كانت كلتاهما تغلفان نفس الإعدادات تمامًا.

عرض الطوابع الزمنية

تشير الطوابع الزمنية إلى نقاط زمنية محددة وفريدة. عند العرض، يُنسقها systemd في المنطقة الزمنية المحلية كما يلي:

    Fri 2012-11-23 23:02:15 CET

يُطبع يوم الأسبوع بالصيغة الإنجليزية المختصرة. التنسيق مستقل عن الإعدادات المحلية.

في بعض الحالات، تُعرض الطوابع الزمنية في المنطقة الزمنية UTC بدلاً من المنطقة الزمنية المحلية، ويُشار إلى ذلك عبر محدد المنطقة الزمنية "UTC" في المخرجات.

في بعض الحالات، تُعرض الطوابع الزمنية بدقة ميكروثانية. في هذه الحالة، يُفصل الباقي دون الثانية بنقطة عن مكون الثواني.

تحليل الطوابع الزمنية

عند التحليل، يقبل systemd صيغة مشابهة، لكن يمكن حذف بعض الحقول، كما يمكن استبدال المسافة بين التاريخ والوقت بحرف ”T“ (على غرار ملف التعريف RFC 3339[1] الخاص بمعيار ISO 8601)؛ وبالتالي، في توقيت وسط أوروبا (CET)، تكون العناصر التالية متطابقة: ”Fri 2012-11-23 23:02:15 CET“، ”Fri 2012-11-23T23:02:15“، ”2012-11-23T23:02:15 CET“، ”2012-11-23 23:02:15“.

تكون المنطقة الزمنية الافتراضية هي المنطقة الزمنية الحالية ما لم يُحدد خلاف ذلك صراحةً. ويمكن ذكرها بعد مسافة، كما هو موضح أعلاه، وفي هذه الحالة يمكن أن تكون: ”UTC“، أو أحد الإدخالات الموجودة في قاعدة بيانات المناطق الزمنية IANA المثبتة (على سبيل المثال.مثل. ”CET“، ”Asia/Tokyo“، حيث يمكن الحصول على القائمة الكاملة باستخدام timedatectl list-timezones (انظر timedatectl(1)))، أو ”±05“، ”±0530“، ”±05:30“، ”Z“.

ويمكن أيضًا إرفاقه مباشرةً بالطابع الزمني، وفي هذه الحالة يجب أن يتوافق مع أحد التنسيقات المحددة في ملف التعريف RFC 3339[1] الخاص بمعيار ISO 8601: " (+-05:30" أو ”Z“. وبالتالي، فإن ما يلي مطابق أيضًا لما سبق: ”2012-11-23T23:02:15+01:00“، ”2012-11-23 22:02:15Z“.

يمكن أن يبدأ الطابع الزمني بحقل يحتوي على يوم الأسبوع، والذي يمكن أن يكون بصيغة إنجليزية مختصرة ("Wed") أو غير مختصرة ("Wednesday") (حالة الأحرف غير مهمة)، بغض النظر عن الإعدادات المحلية. ومع ذلك، إذا تم تحديد يوم الأسبوع ولم يتطابق مع التاريخ، يُرفض الطابع الزمني.

إذا حُذف التاريخ، فإن الإعداد الافتراضي هو اليوم. وإذا حُذف الوقت، فإن الإعداد الافتراضي هو 00:00:00. يمكن تحديد أجزاء الثواني بدقة تصل إلى 1قة ميكروثانية. كما يمكن حذف حقل الثواني، حيث يكون الإعداد الافتراضي هو 0.

هناك رموز خاصة يمكن استخدامها بدلاً من الطوابع الزمنية: يمكن استخدام "now" للإشارة إلى الوقت الحالي (أو وقت استدعاء الأمر المنفذ حاليًا). تشير "today" و "yesterday" و "tomorrow" إلى 00:00:00 من اليوم الحالي، أو اليوم السابق، أو اليوم التالي، على التوالي.

يُقبل أيضًا الأوقات النسبية: يُقيّم مدى زمني (انظر أعلاه) مسبوق بـ "+" على أنه الوقت الحالي زائد المدى الزمني المحدد. وبالمقابل، يُقيّم مدى زمني مسبوق بـ "-" على أنه الوقت الحالي ناقص المدى الزمني المحدد. بدلاً من تسبيق المدى الزمني بـ "+" أو "-"، يمكن أيضًا إلحاقه بمسافة وكلمة "left" أو "ago".

وأخيرًا، يُقيَّم العدد الصحيح الذي يسبقه الرمز ”@“ بالنسبة إلى عصر يونيكس يناير 1970 الساعة 00:00:00 بالتوقيت العالمي المنسق.

أمثلة للطوابع الزمنية الصالحة وصيغتها الطبيعية (بافتراض أن الوقت الحالي كان 2012-11-23 18:15:22 والمنطقة الزمنية كانت UTC+8، على سبيل المثال "TZ=:Asia/Shanghai"):

      Fri 2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
          2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
      2012-11-23 11:12:13 UTC → Fri 2012-11-23 19:12:13
         2012-11-23T11:12:13Z → Fri 2012-11-23 19:12:13
       2012-11-23T11:12+02:00 → Fri 2012-11-23 17:12:00
                   2012-11-23 → Fri 2012-11-23 00:00:00
                     12-11-23 → Fri 2012-11-23 00:00:00
                     11:12:13 → Fri 2012-11-23 11:12:13
                        11:12 → Fri 2012-11-23 11:12:00
                          now → Fri 2012-11-23 18:15:22
                        today → Fri 2012-11-23 00:00:00
                    today UTC → Fri 2012-11-23 16:00:00
                    yesterday → Fri 2012-11-22 00:00:00
                     tomorrow → Fri 2012-11-24 00:00:00
    tomorrow Pacific/Auckland → Thu 2012-11-23 19:00:00
                     +3h30min → Fri 2012-11-23 21:45:22
                          -5s → Fri 2012-11-23 18:15:17
                    11min ago → Fri 2012-11-23 18:04:22
                  @1395716396 → Tue 2014-03-25 03:59:56

يرجى ملاحظة أن الطوابع الزمنية التي تعرضها الأنظمة البعيدة ذات المنطقة الزمنية غير المتطابقة لا يمكن عادةً تحليلها محليًّا، حيث إن عنصر المنطقة الزمنية غير مفهوم (ما لم تكن المنطقة الزمنية هي "UTC").

يمكن أيضًا تحديد الطوابع الزمنية بدقة ميكروثانية. يُتوقع فصل الباقي دون الثانية بنقطة عن مكون الثواني. مثال:

    2014-03-25 03:59:56.654563

في بعض الحالات، يعرض systemd طابعًا زمنيًا نسبيًا (نسبةً إلى الوقت الحالي، أو وقت استدعاء الأمر) بدلاً من أو بالإضافة إلى طابع زمني مطلق كما هو موصوف أعلاه. يُنسق الطابع الزمني النسبي كالتالي:

    2 months 5 days ago

يرجى ملاحظة أنه يُسمح أيضًا باستخدام طابع زمني نسبي في الحالات التي يُتوقع فيها وجود طابع زمني (انظر أعلاه).

استخدم الأمر timestamp التابع لـ systemd-analyze(1) للتحقق من صحة الطوابع الزمنية وتوحيدها لأغراض الاختبار.

أحداث التقويم

يمكن استخدام أحداث التقويم للإشارة إلى نقطة زمنية واحدة أو أكثر في تعبير واحد. تشكل مجموعة شاملة للطوابع الزمنية المطلقة الموضحة أعلاه:

    Thu,Fri 2012-*-1,5 11:12:13

ما سبق يشير إلى 11:12:13 من اليوم الأول أو الخامس من أي شهر من عام 2012، ولكن فقط إذا كان ذلك اليوم خميسًا أو جمعة.

مواصفات يوم الأسبوع اختيارية. إذا تم تحديدها، فيجب أن تتكون من اسم يوم أسبوع واحد أو أكثر باللغة الإنجليزية، إما بالصيغة المختصرة (Wed) أو غير المختصرة (Wednesday) (حالة الأحرف غير مهمة)، مفصولة بفواصل. تحديد يومي أسبوع مفصولين بـ ".." يشير إلى نطاق من أيام الأسبوع المتتالية. يمكن الجمع بين "،" و ".." بحرية.

في مواصفات التاريخ والوقت، يمكن تحديد أي مكون كـ "*" وفي هذه الحالة ستطابق أي قيمة. بدلاً من ذلك، يمكن تحديد كل مكون كقائمة من القيم مفصولة بفواصل. قد تُلحق القيم بـ "/" وقيمة تكرار، مما يشير إلى أن القيمة نفسها والقيمة بالإضافة إلى جميع مضاعفات قيمة التكرا يتم مطابقتها. يمكن استخدام قيمتين مفصولتين بـ ".." للإشارة إلى نطاق من القيم؛ قد تتبع النطاقات أيضًا بـ "/" وقيمة تكرار، وفي هذه الحالة يطابق التعبير جميع الأوقات بدءًا من قيمة البداية، ومستمرة بجميع مضاعفات قيمة التكرا بالنسبة لقيمة البداية، وتنتهي بقيمة النهاية في أحدث وقت.

قد تستخدم مواصفات التاريخ "~" للإشارة إلى اليوم الأخير في الشهر. على سبيل المثال، "*-02~03" تعني "اليوم الثالث قبل الأخير في فبراير"، و "Mon *-05~07/1" تعني "آخر يوم اثنين في مايو".

قد يحتوي مكون الثواني على كسور عشرية في كل من القيمة والتكرا. يتم تقريب جميع الكسور إلى 6 منازل عشرية.

يمكن حذف مواصفات الوقت أو التاريخ، وفي هذه الحالة يُفترض 00:00:00 و *-*-* على التوالي. إذا لم يتم تحديد مكون الثواني، يُفترض ":00".

يمكن تحديد المنطقة الزمنية كسلسلة حرفية "UTC"، أو المنطقة الزمنية المحلية، على غرار الصيغة المدعومة للطوابع الزمنية (انظر أعلاه)، أو المنطقة الزمنية بتنسيق قاعدة بيانات المناطق الزمنية IANA (انظر أيضًا أعلاه).

يمكن استخدام التعبيرات الخاصة التالية كاختصارات للأشكال الطبيعية الأطول:

        minutely → *-*-* *:*:00
          hourly → *-*-* *:00:00
           daily → *-*-* 00:00:00
         monthly → *-*-01 00:00:00
          weekly → Mon *-*-* 00:00:00
          yearly → *-01-01 00:00:00
       quarterly → *-01,04,07,10-01 00:00:00
    semiannually → *-01,07-01 00:00:00

أمثلة على الطوابع الزمنية الصالحة وشكلها الطبيعي:

      Sat,Thu,Mon..Wed,Sat..Sun → Mon..Thu,Sat,Sun *-*-* 00:00:00
          Mon,Sun 12-*-* 2,1:23 → Mon,Sun 2012-*-* 01,02:23:00
                        Wed *-1 → Wed *-*-01 00:00:00
               Wed..Wed,Wed *-1 → Wed *-*-01 00:00:00
                     Wed, 17:48 → Wed *-*-* 17:48:00
    Wed..Sat,Tue 12-10-15 1:2:3 → Tue..Sat 2012-10-15 01:02:03
                    *-*-7 0:0:0 → *-*-07 00:00:00
                          10-15 → *-10-15 00:00:00
            monday *-12-* 17:00 → Mon *-12-* 17:00:00
      Mon,Fri *-*-3,1,2 *:30:45 → Mon,Fri *-*-01,02,03 *:30:45
           12,14,13,12:20,10,30 → *-*-* 12,13,14:10,20,30:00
                12..14:10,20,30 → *-*-* 12..14:10,20,30:00
      mon,fri *-1/2-1,3 *:30:45 → Mon,Fri *-01/2-01,03 *:30:45
                 03-05 08:05:40 → *-03-05 08:05:40
                       08:05:40 → *-*-* 08:05:40
                          05:40 → *-*-* 05:40:00
         Sat,Sun 12-05 08:05:40 → Sat,Sun *-12-05 08:05:40
               Sat,Sun 08:05:40 → Sat,Sun *-*-* 08:05:40
               2003-03-05 05:40 → 2003-03-05 05:40:00
     05:40:23.4200004/3.1700005 → *-*-* 05:40:23.420000/3.170001
                 2003-02..04-05 → 2003-02..04-05 00:00:00
           2003-03-05 05:40 UTC → 2003-03-05 05:40:00 UTC
                     2003-03-05 → 2003-03-05 00:00:00
                          03-05 → *-03-05 00:00:00
                         hourly → *-*-* *:00:00
                          daily → *-*-* 00:00:00
                      daily UTC → *-*-* 00:00:00 UTC
                        monthly → *-*-01 00:00:00
                         weekly → Mon *-*-* 00:00:00
        weekly Pacific/Auckland → Mon *-*-* 00:00:00 Pacific/Auckland
                         yearly → *-01-01 00:00:00
                       annually → *-01-01 00:00:00
                          *:2/3 → *-*-* *:02/3:00

تُستخدم أحداث التقويم بواسطة وحدات المؤقت، انظر systemd.timer(5) للتفاصيل.

استخدم أمر calendar من systemd-analyze(1) للتحقق من صحة وتطبيع مواصفات وقت التقويم لأغراض الاختبار. تقوم الأداة أيضًا بحساب متى سيحدث حدث تقويم محدد بعد ذلك.

انظر أيضًا

systemd(1), journalctl(1), systemd.timer(5), systemd.unit(5), systemd.directives(7), systemd-analyze(1)

ملاحظات

1.  RFC 3339
    https://tools.ietf.org/html/rfc3339

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.