আমি কীভাবে ম্যাক ওএস এক্সে প্রতিদিন চালানোর জন্য একটি স্ক্রিপ্ট পেতে পারি?


উত্তর:


62

রেফারেন্সের জন্য, সমস্ত 3 টি বিকল্প কাজ করবে। আইসিএল অপশনের ক্ষেত্রে অন্যদের চেয়ে বেশি সীমাবদ্ধতা রয়েছে।

(ক্রোন সম্পাদনা করার জন্য জিইউআই রয়েছে এবং অন্যান্য উত্তরে উল্লিখিত হিসাবে এটি চালু করা হয়েছে)

ক্রোন সবচেয়ে সোজা ফরোয়ার্ড এবং সুপরিচিত এবং অনেক টিউটোরিয়াল উপলব্ধ। কোলস নোটগুলি নীচে থেকে আপনার ক্রন্টবায় শেষ পংক্তি যুক্ত করতে হবে (হয় সম্পাদনা করে /etc/crontabবা crontabকমান্ড লাইনে ব্যবহার করে):

MM HH DD MM WKD -- Minutes, Hour, Day, Month, Weekday (eg. Sun, Mon)
MM HH * * * USERNAME /PATH/TO/SCRIPT
00 3 * * * chealion /myscript.sh "Runs at 03:00 every day"

ম্যাক ওএস এক্সে cronবাস্তবে প্রতিস্থাপন করা হয়েছে launchdতবে আপনি এখনও ব্যবহার করতে পারবেন launchdএমন cronঅর্থের সাথে পিছনে সামঞ্জস্যপূর্ণ cronতবে এটি আসলে launchdসমস্ত কাজ করছে।

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

প্রতিদিন চালু হওয়া একটি নমুনা চালানো প্লাস্ট (ফাইল এবং লেবেলটি একই - লেবেলের জন্য মাইনাস প্লিস্ট) নিশ্চিত হন - এই স্ক্রিপ্টটি প্রতিদিন মধ্যরাত থেকে 3 মিনিটে চালানো হয়:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.IDENTIFIER_HERE.SOMETHING</string>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <false/>
    <key>UserName</key>
    <string>USERNAME HERE</string>
    <key>Program</key>
    <string>/PATH/TO/SCRIPT</string>
    <key>ProgramArguments</key>
    <array>
        <string>Argument_1</string>
        <string>Argument_2</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>00</integer>
        <key>Minute</key>
        <integer>03</integer>
    </dict>
</dict>
</plist>

এটি লক্ষণীয় যে লঞ্চ করা কাজগুলি যদি কম্পিউটারটি কখন ঘুমন্ত বা বন্ধ থাকে তার জন্য নির্ধারিত ছিল, কম্পিউটারটি আবার উপলব্ধ হয়ে উঠলে এটি চালু হবে (এটি চালু করা বা এটি জাগানো) - যদিও এটি কেবল কত দিনই কাটে না কেন হয়েছে. সম্পাদনা: আমি কেবলমাত্র একটি অ্যাপল নথিতে ছিলাম যাতে বলা হয়েছিল যে মেশিনটি বন্ধ থাকলে আপনি সেই সময়ে কোনও লঞ্চ ইভেন্ট হারাবেন, (আপনার স্ক্রিপ্টটি প্রারম্ভকালে প্রবর্তন হবে না), (ঘুম ঘুমোতে স্ক্রিপ্টটি প্রবর্তন করে)


অন্য বিকল্পটি হ'ল " এট " ব্যবহার করুন ("ম্যান এট" এর সাথে ম্যানুয়াল পৃষ্ঠাটি পরীক্ষা করুন)। স্ক্রিপ্ট যেমন:

echo "sh $0 $@" | at `date +%H:%M` tomorrow

(প্রতি 10 মিনিটে এটি চালানোর জন্য "আগামীকাল" এর পরিবর্তে "+ 10 মিনিট" ব্যবহার করুন; সময়সূচী বন্ধ করতে, নির্ধারিত কাজের আইডির তালিকা তৈরি করতে কেবল "at -l" এবং তারপরে কাজটি সরাতে "at -r id " করুন)

আপনাকে প্রথমে সংশ্লিষ্ট ডিমন (অ্যাটরুন) শুরু করতে হবে ( https://superuser.com/a/43680 দেখুন ) দিয়ে:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

সুবিধা: দ্রুত স্থিরকরণ, কোনও সূডো / রুট অ্যাক্সেসের দরকার নেই, জটিল শিডিয়ুল নিদর্শনগুলি করা সহজ অসুবিধা: ওএস এক্সের জন্য মান নির্ধারণের পদ্ধতি নয় (যা চালু করা হয়েছে)


8
স্যার, আপনার উদাহরণের জন্য কনফিগারেশন ফাইল চালু হয়েছে, আমি আপনাকে চুম্বন করতে পারি। তবে আমি শান্ত হই না।
পল ডি ওয়েট

5
launchdওএস এক্সের আওতায় যাওয়ার
উপায়টি

হ্যাঁ, এটা আমার ধারণা ছিল। এটি টাইগারে ফিরে কিছু সমস্যা রয়েছে বলে মনে হচ্ছে তবে অ্যাপল মনে হয় এর পর থেকে এটি আরও তীব্র করে তুলেছে।
পল ডি ওয়েট

ওস 10.7.4 এ কোনও / ইত্যাদি / ক্রন্টব ফাইল নেই। ): সুতরাং আমি 'কোন ক্রন্টব' করেছি এবং তা আমাকে / ইউএসআর / বিন / ক্রন্টব দিয়েছিল তবে এটি একটি গার্ল্ড ফাইল দেয়।
হারমান ইনজালডসন

@ হারমানইংজালডসন / ইউএসআর / বিন / ক্রন্টব একটি প্রোগ্রাম; আপনি যদি এটি দিয়ে কোনও টার্মিনালে চালান crontab -e, এটি আপনাকে কোনও ফাইলের টার্মিনাল ভিত্তিক পাঠ্য সম্পাদকটিতে ফেলে দেবে যা আপনি এটি সংরক্ষণ করার সময় আপনার ব্যক্তিগত ক্রোনট্যাব হয়ে যাবে।
মার্ক রিড

8

LaunchControl launchd / launchctl জন্য আরেকটি গুই হয়। অন্যদের দ্বারা উল্লিখিত বিকল্পগুলি দৈনিক ভিত্তিতে একটি স্ক্রিপ্ট চালু করতে পুরোপুরি সক্ষম, লঞ্চকন্ট্রোলের সাহায্যে আপনি জটিল সময়সূচী কনফিগার করতে পারেন (যেমন "প্রতি সপ্তাহে একবার, সপ্তাহান্তে প্রতি ঘন্টা 2PM এবং 8PM এর মধ্যে")। এছাড়াও এটি (এএফআইএকে) একমাত্র হাতিয়ার যা আসলে কাজটি বৈধ করে। কোনও কাজ যদি আশানুরূপ কাজ না করে তবে তা আপনাকে দেখায়।

আপনি যতক্ষণ চাই চেষ্টা করার জন্য এটি নিখরচায়।


3
এটি চেষ্টা / ব্যবহারের জন্য নিখরচায়, বিকাশকারী আপনাকে লাইসেন্সের জন্য অর্থ প্রদান করতে পছন্দ করবে। সাইট.fastspring.com/somazone/product/shop
কেন্ট

1
একেবারে। আমি এই উত্তরটি প্রথম স্থানে পোস্ট করার কারণটি হ'ল বিকাশকারীকে সমর্থন করা।
মার্ক হল

5

ক্রোননিএক্স হ'ল ম্যাকের ক্রোন কাজের সময় নির্ধারণের জন্য একটি দুর্দান্ত জিইউআই অগ্রণী ... আপনি যদি চান না এবং ক্রোন ডকুমেন্টেশনটি অনুসন্ধান করতে চান তবে খুব সুন্দর।


2
  • আইকালের জন্য আপনি এই নিবন্ধটি পড়তে চাইতে পারেন ।
  • আপনি cronযদি এটির জন্য গুগল করেন তবে আপনার পর্যাপ্ত টিউটোরিয়াল খুঁজে পাওয়া উচিত ।

এটি আপনি যা চান তার উপর নির্ভর করে: iCal স্ক্রিপ্টগুলি কেবল তখনই কার্যকর করা হবে আপনি লগ ইন থাকলে, লগইন না cronকরে স্ক্রিপ্টটি কার্যকর করে I আমি জানি না যে স্ক্রিপ্টটি থাকা উচিত ছিল সেই সময়ে ম্যাক চালু থাকলে iCal কোনও স্ক্রিপ্ট কার্যকর করে কিনা if মৃত্যুদণ্ড কার্যকর করা হয়েছে cronএটা করছে


2

একটি আপডেট: আপনি ম্যাক ওএস এক্স অ্যাপ স্টোরের এমন কিছু অ্যাপ্লিকেশন পরীক্ষা করতে পারেন যা এটি করে:

আপনি কোন ওএস চালাচ্ছেন তার উপর নির্ভর করে লিঙ্গনও উপলব্ধ বলে মনে হয়।


2

প্লাস্ট এক্সএমএল তৈরি করার জন্য এখানে একটি সহজ, নিখরচায় ইউটিলিটি:

http://www.gieson.com/Library/projects/utilities/launcha/

এই ব্যবহারের সাথে কোনও প্রোগ্রাম ইনস্টল করার দরকার নেই, ফলাফলগুলি কেবল আপনার লাইব্রেরি / লঞ্চএজেন্টস ফোল্ডারে সংরক্ষণ করুন।


সতর্কতা: আপনি যদি এই সরঞ্জামটি ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে RunAtStartএটি পরে মিথ্যাতে সেট করা আছে (যদি না আপনি এটি সত্য না চান)। আমার ফাইন্ডার কেন স্থির হবে এবং বুট করার সময় ডেস্কটপটি লোড করা থেকে বিরত রাখবে তা জানার জন্য আমি এক ঘন্টা ব্যয় করেছি। অক্ষম করা RunAtStartনির্দিষ্ট সময়সূচীতে হস্তক্ষেপ করে না।
আন্দ্রেয়া লাজারোত্তো

1

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


আমার কাছে মনে হয় লিঙ্গন সক্রিয় বিকাশের অধীনে রয়েছে ; বর্তমান সংস্করণ 3 পূর্ববর্তী সংস্করণ 2 সহ অ্যাপস্টোরে উপলব্ধ। উভয়ই কয়েক ডলার ব্যয় করে এবং খুব মিশ্র পর্যালোচনা গ্রহণ করে। আমি ব্যক্তিগতভাবে লিংগন 3 কে কিছু সাফল্যের সাথে ব্যবহার করি , তবে এই নিবন্ধে অন্য উত্তরে উল্লিখিত অন্যান্য সরঞ্জামগুলির (ক্রোন, এট, ইত্যাদি) উদ্দেশ্যে এটির জন্য সুপারিশ করব না।
এসএসসি

শেষবার আমি লিঙ্গন ব্যবহার করেছি 2 বছর আগে। এই সময়ে এটি আমার পক্ষে ভাল কাজ করেছে, তবে আমি সাম্প্রতিক ভার্সনগুলি ব্যবহার করি নি। খুব খারাপ এটি একবারের মতো নির্ভরযোগ্য নয়।
জোশ


0
sp@mactop ~ $ crontab -l
*/5 * * * * /usr/local/bin/cinco.sh
sp@mactop ~ $ cat /usr/local/bin/cinco.sh
#!/bin/sh
....cut....
sp@mactop ~ $ 

... ".... কাট ...." এর জন্য আপনি যে কমান্ড-লাইন নিক্ষেপ করবেন তা প্রতি পাঁচ মিনিটে চালানো হবে।

30 বছরের অগ্রগতি এবং 'ক্রোন' এখনও আমার প্রিয় শিডিয়ুলার।

-C


0

যদি কোনও ক্যালেন্ডার ইভেন্ট আপনার প্রয়োজনগুলি পূরণ করে তবে অন্তর্নির্মিত অটোমেটর অ্যাপ্লিকেশন আপনাকে ক্যালেন্ডার অ্যালার্মগুলি তৈরি করতে দেয় যা ক্যালেন্ডারের ইভেন্টগুলি দ্বারা ট্রিগার করা হয়। আপনি যা চান তা করতে বিল্ট-ইন ইউআই-ভিত্তিক কিছু ক্রিয়াকলাপ ব্যবহার করতে পারেন বা এটি কোনও অ্যাপ্লিকেশন বা কাস্টম অ্যাপলস্ক্রিপ্ট, জাভাস্ক্রিপ্ট বা শেল স্ক্রিপ্ট চালাতে পারেন।

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