نحوه ليست كردن cron jobs در لينوكس

نحوه ليست كردن cron jobs در لينوكس

زهرا عزتی

با استفاده از cron مي توانيد يك برنامه ريزي كاربردي داشته باشيد؛ وظايف خود را كه به آن cron jobs مي گويند در بازه زماني مشخصي برنامه ريزي كنيد. شما مي توانيد برنامه ريزي خود را تا يك دقيقه ، ساعت ، روزي از ماه ، روزي در هفته يا هر تركيبي از اين موارد انتخاب كنيد. cron jobs معمولا براي انجام عمليات نگهداري سيستم استفاده مي شود. به عنوان مثال يك cron job مي تواند براي اتوماسيون كارهاي تكراري مانند بكاپ گيري از ديتابيس ها ، بروزرساني سيستم با جديدترين وصله هاي امنيتي ، پاك كردن حافظه پنهان ، ارسال ايميل و غيره تنظيم شود.

در اين مقاله چگونگي ليست cron jobs توضيح داده شده است. با ما در شتابان هاست همراه باشيد.

ليست كاربران cron Jobs

پرونده هاي crontab كاربران بر اساس نام كاربر نامگذاري مي شوند و موقعيت آنها توسط سيستم عامل ها متفاوت است. در توزيع هاي مبتني بر Red hat مانند centOS پرونده هاي crontab در /var/spool/cronذخيره مي شوند.

دايركتوري ، در حالي كه پرونده هاي Debian و Ubuntu در اين پرونده بصورت فهرست راهنما/var/spool/cron/crontabs ذخيره مي شوند.

براي بدست آوردن ليستي از كليه cron jobs مهم با نام كاربري كه با آن وارد سيستم شده ايد ، از crontab استفاده كنيد.

crontab

اگر كاربر cron jobs را تنظيم كرده باشد ، محتواي crontabs كاربر روي صفحه نمايش داده مي شود. در غير اين صورت ، اين فرمان چاپ مي شود.

<no crontab for <username

براي ليست ساير cron jobs ، از گزينه -u استفاده كنيد. گزينه اي براي مشخص كردن نام كاربري در انتهاي دستور؛ به عنوان مثال براي ليست كارهاي متفرقه كاربر از عنوان mark استفاده كنيد:

sudo crontab -u mark -l

هر ۶۰۰ پرونده crontab مجوز هايي متعلق به كاربر دارد. كاربران داراي sudo هستند كه مي توانند ليستي از cron jobs هاي كاربران ديگر را مشاهده كنند.

براي اينكه بفهميد كدام كاربر cron jobs ايجاد كرده است :

sudo ls -1 /var/spool/cron/crontabs

خروجي چيزي مانند اين خواهد بود:

root

mark

سيستم ليست كردن  cron jobs

/etc/crontab پرونده داخلي /etc/cron.dدايركتوري فايلهاي crontab در سراسر سيستم هستند كه فقط توسط سرورهاي سيستم قابل ويرايش اند.

استفاده از cat .less يا هر ويرايشگر متن براي مشاهده محتواي پرونده ها:

cat /etc/crontab /etc/cron.d/*

در اكثر توزيع هاي لينوكس مي توانيد اسكريپت ها را نيز در داخل آن قرار دهيد. /etc/cron

{hourly,daily,weekly,monthly}

فهرست ها ، و هر اسكريپت اجرا مي شود.

hour/day/week/month

در هر اسكريپت موجود در اين فهرست ها بايد اجازه اجرا داده شود. در غير اين صورت كار cron اجرا نمي شود. به عنوان مثال ، براي مشاهده همه cron jobs هاي هفتگي كه تايپ مي كنيد:

ls -l /etc/cron.weekly/

-rwxr-xr-x 1 root root 813 Feb 10 2019 man-db

اگر خروجي خالي باشد ، به اين معني است كه هيچ cron هفتگي وجود ندارد.

تايمر هاي سيستم دار

تايمرهاي سيستم دار فايل هاي واحدي هستند كه به پايان مي رسند. پسوند timer به شما امكان مي دهد واحد خدمات را براساس زمان اجرا كنيد.

براي مشاهده ليستي از تمام تايمرهاي سيستم شده در دستگاه خود ، دستور زير را اجرا كنيد:

systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  man-db.timer                 man-db.service
Sun 2020-02-16 03:50:52 UTC  5h 44min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily.timer              apt-daily.service
Sun 2020-02-16 06:12:38 UTC  8h left       Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily-upgrade.timer      apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC  20h left      Sat 2020-02-15 17:16:10 UTC  4h 50min ag

اميدواريم از مقاله لذت برده باشيد ما را در شتابان هاست دنبال كنيد.

برچسب ها: آموزش لينوكس