টাইমস্ট্যাম্প অন্তর্ভুক্ত ফাইল নামের পছন্দের বিন্যাস


16

যেহেতু আমরা সবাই জানি "/" এবং 'a 0' ব্যতীত ফাইলগুলিতে "ইউনিক্স" এর কিছু থাকতে পারে, সিসাদমিনগুলি অবশ্য অনেক কম পছন্দ করে থাকে, মূলত ফাঁকা স্থানকে ইনপুট হিসাবে পছন্দ না করার কারণে ... এবং একগুচ্ছ জিনিস ':' এবং অন্যদের মধ্যে '@' এর একটি বিশেষ অর্থ।

সম্প্রতি আমি আরেকটি ঘটনা দেখতে পেয়েছি যেখানে ফাইলের নামটিতে টাইমস্ট্যাম্প ব্যবহার করা হয়েছিল এবং এটি আরও ভাল করার জন্য বিভিন্ন ফর্ম্যাটের সাথে কিছুটা খেলার পরে আমি অনুভব করেছি যে আমি "সেরা অনুশীলন" খুঁজে বের করার চেষ্টা করব, আমি যেটা আবিষ্কার করেছি তা না দেখে আমি কেবল এখানে জিজ্ঞাসা করব এবং লোকেরা কী চিন্তা করেছে তা দেখতে চাই।

সম্ভাব্য "সাধারণ" সমাধান (p = উপসর্গ এবং s = প্রত্যয়):

  1. syslog / লোগ্রোটেট / ডিএনএস ফর্ম্যাট মত:

    p-%Y%m%d-suffix = prefix-20110719-s
    p-%Y%m%d%H%M-suffix = prefix-201107191732-s
    p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s
    

    পেশাদাররা:

    • এটি "সাধারণ", সুতরাং "যথেষ্ট ভাল" "সেরা" থেকে ভাল হতে পারে।
    • কোনও অদ্ভুত অক্ষর নেই।
    • "তারিখ / সময় ব্লব" অন্য সব থেকে আলাদা করা সহজ।

    কনস:

    • কেবলমাত্র তারিখের সংস্করণটি পড়া সহজ নয় এবং সময় সহ আমার চোখগুলি রক্ত ​​ঝরে যায় এবং কয়েক সেকেন্ডও ঠিক "লোল"।
    • ধরে নেয় টিজেড।
  2. আইএসও -8601- ফর্ম্যাট

    p-%Y-%m-%d-s = p-2011-07-19-s
    p-%Y-%m-%dT%H:%M%z-s = p-2011-07-19T17:32-0400-s
    p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T17:32:16-0400-s
    p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T23:32:16+0200-s
    

    পেশাদাররা:

    • কোন স্পেস.
    • অ্যাকাউন্টে টিজেড নেয়।
    • মানুষের দ্বারা পড়া "খারাপ নয়" (তারিখটি কেবল v। ভাল)।
    • $ দ্বারা তৈরি করা যেতে পারে (তারিখ --iso = {ঘন্টা, মিনিট, সেকেন্ড})

    কনস:

    • scp কমান্ড / আলকাতরা / ইত্যাদি। এই ':' অক্ষরগুলি পছন্দ করবে না।
    • "সাধারণ" লোকেদের জন্য ডাব্লুটিটিএফ দেখতে কিছুটা সময় নেয় যে 'টি' হল, এবং শেষে জিনিসটি কী :)।
    • প্রচুর '-' অক্ষর।
  3. rfc-3339 ফর্ম্যাট

    p-%Y-%m-%d-s = p-2011-07-19-s
    p-%Y-%m-%d %H:%M%:z-s = p-2011-07-19 17:32-04:00-s
    p-%Y-%m-%d %H:%M:%S%:z-s = p-2011-07-19 17:32:16-04:00-s
    p-%Y-%m-%d %H:%M:%S%:z-s = p-2011-07-19 23:32:16+02:00-s
    

    পেশাদাররা:

    • অ্যাকাউন্টে টিজেড নেয়।
    • সহজেই "সমস্ত মানুষ" দ্বারা পড়া যায়।
    • উপসর্গ / প্রত্যয় থেকে তারিখ / সময় পার্থক্য করতে পারে।
    • উপরের কয়েকটি $ (তারিখ --iso = {ঘন্টা, সেকেন্ড}) দিয়ে তৈরি করা যেতে পারে

    কনস:

    • সময়ের সংস্করণে ফাঁকা স্থান রয়েছে (যার অর্থ সমস্ত কোড এটি ঘৃণা করবে)।
    • scp কমান্ড / আলকাতরা / ইত্যাদি। এই ':' অক্ষরগুলি পছন্দ করবে না।
  4. আমি হাইফেন ভালবাসি:

    p-%Y-%m-%d-s = p-2011-07-19-s
    p-%Y-%m-%d-%H-%M-s = p-2011-07-19-17-32-s
    p-%Y-%m-%d-%H-%M-%S-s = p-2011-07-19-23-32-16-s
    

    পেশাদাররা:

    • মূলত কিছুটা ভাল সিসলগ / ইত্যাদি। বৈকল্পিক।

    কনস:

    • প্রচুর '-' অক্ষর।
    • ধরে নেয় টিজেড।
  5. আমি হাইফেনগুলি পছন্দ করি এক্সটেনশন সহ:

    p.%Y-%m-%d.s = p.2011-07-19.s
    p.%Y-%m-%d.%H-%M.s = p.2011-07-19.17-32.s
    p.%Y-%m-%d.%H-%M-%S.s = p.2011-07-19.23-32-16.s
    

    পেশাদাররা:

    • মূলত কিছুটা সুন্দর "আমি হাইফেনসকে ভালবাসি" বৈকল্পিক।
    • কোনও অদ্ভুত অক্ষর নেই।
    • উপসর্গ / প্রত্যয় থেকে তারিখ / সময় পার্থক্য করতে পারে।

    কনস:

    • ব্যবহার '.' এখানে কিছুটা অপ্রচলিত।
    • ধরে নেয় টিজেড।

... সুতরাং যে কেউ পছন্দ এবং কারণ, বা একাধিককে দিতে চায় (উদাহরণস্বরূপ, মেশিনকে স্থানীয়ভাবে থাকতে 95% এর বেশি হলে টিজেডের বিষয়ে চিন্তা করবেন না, তবে এটি যদি না হয় তবে অনেক যত্ন করুন)।

বা, স্পষ্টতই, উপরের তালিকায় নেই এমন কিছু।


দয়া করে সার্ভারফল্ট
জন

আপনি জিজ্ঞাসা প্রকৃত প্রশ্ন কি?
ওয়ার্ড - মনিকা পুনরায়

আমি ভেবেছিলাম যে আমার প্রশ্নটি "এক্সওয়াইজেড করার সর্বোত্তম অনুশীলনটি কী" এর চেয়ে "আপনার ফেভারিওট এক্সওয়াইজেড কী কী", যা আমি ধরে নিয়েছিলাম অনুমতি দেওয়া হয়েছিল?
জেমস এন্টিল

উত্তর:


19
  1. আইএসও 8601 ফর্ম্যাটটি যথাসম্ভব মেনে চলতে হবে, কারণ এটি একটি মানদণ্ডের নিকটতম জিনিস।
  2. 'টি' আসলেই এর থেকে মুক্তি পাওয়ার পরোয়ানা হিসাবে কোনও হোঁচট খাতে যথেষ্ট নয়।
  3. ':' গুলি সম্ভাব্য খুনি, সুতরাং এড়ানো উচিত।
  4. অন্যের উত্তরে উল্লিখিত কারণে, ইউটিসি (বা 'জেড' সময়) ব্যবহার করা উচিত।
  5. আইএসও 8601 এর মধ্যে ইউটিসি ('জেড' সময়) ব্যবহার করে একটি ফর্ম্যাট রয়েছে যা ব্যবহার করা উচিত।
  6. আইএসও 8601 এর মধ্যে এমন ফর্ম্যাট রয়েছে যা ':' অক্ষর ব্যবহার করে না, যা ব্যবহার করা উচিত।

সুতরাং ... নমুনা 'সেরা' তারিখ-সময়ের ফর্ম্যাটগুলি:

  1. 20120317T1748Z

    • আইএসও 8601 অনুসারে 100%
    • কেবলমাত্র বর্ণমালার অক্ষর (খুব সিসাদমিন-বান্ধব)
    • পড়ার জন্য দ্রুত নয়, তবে অবশ্যই ল্যাপারসন দ্বারা পাঠযোগ্য
  2. 2012-03-17T1748Z

    • তারিখের অংশটি আইএসও 8601 অনুসারে
    • সময়ের অংশটি আইএসও 8601 অনুসারে
    • তারিখ এবং সময়ের মধ্যে রূপান্তর আইএসও 8601 অনুসারে
    • আইএসও 8601 'বর্ধিত' ফর্ম্যাটটি (হাইফেনের সাথে তারিখ, কলনের সাথে সময়) মিশ্রিত করে আইএসও 8601 'বেসিক' ফর্ম্যাটের সাথে (হাইফেন ছাড়া তারিখ, কলোন ছাড়া সময়), যা সম্ভবত বেশ সঠিক নয়
    • যোগ '-' অক্ষর (বনাম 1.)
    • ল্যাপারসনের জন্য পড়তে কিছুটা সহজ (বনাম ১)
  3. 2012-03-17--1748Z

    • তারিখের অংশটি আইএসও 8601 অনুসারে
    • সময়ের অংশটি আইএসও 8601 অনুসারে
    • তারিখ এবং সময়ের মধ্যে রূপান্তর আইএসও 8601 অনুসারে নয়
    • আইএসও 8601 'বর্ধিত' ফর্ম্যাটটি আইএসও 8601 'বেসিক' ফর্ম্যাটের সাথে মিশ্রিত করে
    • ল্যাপারসনের জন্য পড়তে কিছুটা সহজ (বনাম ১ এবং ২)
    • কোনও নতুন অক্ষর নেই (বনাম ২)

আমি আংশিক 1. এ যেহেতু এটি পুরোপুরি আইএডাব্লু স্ট্যান্ডার্ড, তবে অন্যরা খুব কাছে রয়েছে।

দ্রষ্টব্য :: অবশ্যই প্রয়োজনীয় হিসাবে সেকেন্ড যোগ করুন। ... এবং হ্যাঁ, সেকেন্ডের সাথে বা ছাড়াই (বা এমনকি কয়েক মিনিট) সমস্ত আইএডাব্লু আইএসও 8601. :)


2

আমি কোনও সময় অঞ্চল অন্তর্ভুক্ত করব না, কেবল সর্বজনীন সময় ব্যবহার করব। যদি বিভ্রান্তি হতে পারে তবে আপনি একটি আউটসিক প্রত্যয় যুক্ত করতে পারেন। আপনি যদি কোনও সময় অঞ্চল নির্দিষ্ট করেন তবে কেউ এর উপর নির্ভর করতে পারে। এবং এমন এক অদ্ভুত প্রান্তের ঘটনা ঘটতে পারে যেখানে কিছু প্রক্রিয়াকরণে ডিএসটি পরিবর্তন হয় বা ডিএসটি বদল হয় এবং কিছু সিস্টেমে প্রসেসিং আলাদা হয় কারণ তাদের ডিএসটি কনফিগারেশন আপ টু ডেট না। ইউটিসি সর্বদা সর্বদা একই থাকে।

আমি মনে করি যে হাইফেনগুলি ফাইলের নামটি আরও পঠনযোগ্য করে তোলে, এই অর্থে যে এটি ফাইলের ডেটার তারিখের সময়টি সনাক্তকরণকে আরও সহজ করে তোলে। আপনি যদি সাব-সেকেন্ড নির্ভুলতা অন্তর্ভুক্ত করতে চান তবে তা সাধারণত .nnnn।

আমি ব্যক্তিগতভাবে টি পছন্দ করি না a একটি ফাইলের নামে একটি কোলন ব্যবহার করা অন্য ফাইল সিস্টেমের সাথে আন্তঃব্যবহারকে প্রভাবিত করতে পারে।


-1
  1. আমিও সময় অঞ্চলগুলি অন্তর্ভুক্ত করব না। আপনার স্ক্রিপ্টস / সরঞ্জামগুলি যা লগগুলি প্রক্রিয়া করে সেগুলি সম্পর্কে সেগুলি জানতে হবে। গ্রীষ্ম / শীতের সময় পরিবর্তনের বিষয়েও - আমি আপনার সার্ভারটি সর্বদা ইউটিসি-তে স্থির রাখার পরামর্শ দিই। বেস সার্ভার টাইমজোন এবং এটিতে চলমান একটি ডাটাবেসের টাইমজোন (অপরিবর্তিত) মধ্যে হঠাৎ পার্থক্য মাথা ব্যথার দিকে পরিচালিত করে ;-)।

  2. লগ ফাইলের নামকরণ সম্পর্কিত - আমি জানি, অনেকেরই এটি পছন্দ হয় না তবে আমি এটি সহজ রাখতে চাই:

p-%s-type.log = p-1311116459-type.log

পেশাদাররা:

  • সাধারণ নির্ধারক
  • আরও স্ক্রিপ্টিং ব্যবহার করা খুব সহজ

কনস:

  • মানুষের পাঠযোগ্য নয়

মেশিনে যেখানে সহকর্মীদের (যে কোনও কারণেই) লগগুলি ম্যানুয়ালি চেক করা দরকার আমি প্রতিদিন এই রদবদলের জন্য গিয়েছিলাম:

p-%Y-%m-%d-type.log = p-2011-07-20-type.log

শুভেচ্ছান্তে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.