මගේ සයිසැඩ්මින් මගේ යන්ත්රයේ ක්රෝන් රැකියා පොකුරක් සකසා ඇත. කුමන වේලාවට සැලසුම් කර ඇත්දැයි හරියටම දැන ගැනීමට මා කැමතිය. මම එම ලැයිස්තුව ලබා ගන්නේ කෙසේද?
මගේ සයිසැඩ්මින් මගේ යන්ත්රයේ ක්රෝන් රැකියා පොකුරක් සකසා ඇත. කුමන වේලාවට සැලසුම් කර ඇත්දැයි හරියටම දැන ගැනීමට මා කැමතිය. මම එම ලැයිස්තුව ලබා ගන්නේ කෙසේද?
Answers:
ඔබේ ලිනක්ස් පද්ධතිය සකසා ඇති ආකාරය අනුව, ඔබට සොයා බැලිය හැකිය:
/var/spool/cron/*
(පරිශීලක crontabs)/etc/crontab
(පද්ධතිය පුරා පැතිරුණු crontab)බොහෝ ඩිස්ට්රෝ වලට ඇත්තේ:
/etc/cron.d/*
මෙම වින්යාසයන්ට සමාන වාක්ය ඛණ්ඩයක් ඇත /etc/crontab
/etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
,/etc/cron.monthly
මේවා හුදෙක් ඩිරෙක්ටරි වන අතර ඒවායේ ඩිරෙක්ටරි නාමයට අනුව පැයකට, දිනපතා, සතිපතා හෝ මාසිකව ක්රියාත්මක කළ හැකි ක්රියාකාරීත්වයන් අඩංගු වේ.
ඊට ඉහළින්, ඔබට රැකියා (චෙක් /var/spool/at/*
), ඇනක්රොන් ( /etc/anacrontab
සහ /var/spool/anacron/*
) සහ බොහෝ විට මට අමතක වී ඇති වෙනත් අය සිටිය හැකිය.
/etc/cron.daily
. එම daily
ගොනුව ක්රියා කරන්නේ කෙසේද? දෛනික රැකියා ක්රියාත්මක වන්නේ කීයටද? මගේ යන්ත්රයේ ඔවුන් දහවල් පමණ දුවන බවක් පෙනේ, නමුත් එය මධ්යම රාත්රිය දක්වා වෙනස් කරන්නේ කෙසේදැයි මගේ සිසැඩ්මින්ට පැවසීමට කැමතියි.
/etc/crontab
, උදා: මගේ උබුන්ටු පද්ධතියේ එය: 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
එනම් උදේ 6:25.
cronie
ඩීමන් විසින් වින්යාසය භාවිතා කරන අය ගැන බලා ගනී /etc/anacrontab
.
/var/cron
ද ඇත.
බොහෝ ක්රොන්ස් සමඟ (උදා: වික්සි-ක්රොන් - ඩේබියන් / උබුන්ටු පෙරනිමිය, ක්රෝනි - ෆෙඩෝරා පෙරනිමි, සොලාරිස් ක්රොන් ...) වත්මන් පරිශීලකයා සඳහා නියමිත ක්රෝන් රැකියා ලැයිස්තුව ඔබට ලබා ගත හැක්කේ:
$ crontab -l
හෝ වෙනත් පරිශීලකයෙකු සඳහා
# crontab -l -u juser
සියළුම පරිශීලකයින් සඳහා crontabs ලබා ගැනීම සඳහා ඔබට සියලු පරිශීලකයින්ට වඩා ලූපයක් තබා මෙම විධානය අමතන්න.
විකල්පයක් ලෙස, ඔබට ස්පූල් ලිපිගොනු සොයා බැලිය හැකිය. සාමාන්යයෙන්, ඒවා යටතේ සුරකිනු ලැබේ /var/spool/cron
, උදා: vcron පහත නාමාවලිය සඳහා
/var/spool/cron/crontabs
සියලුම පරිශීලකයින්ගේ වින්යාසගත කර ඇති ක්රොන්ටාබ් අඩංගු වේ - මූල පරිශීලකයා හැර, පද්ධතිය පුරා පැතිරී ඇති ක්රොන්ටාබ් හරහා රැකියා වින්යාස කිරීමට හැකියාව ඇත.
/etc/crontab
Cronie සමඟ (Fedora / CentOS හි පෙරනිමිය), .d
පද්ධති ක්රෝන් රැකියා සඳහා ශෛලීය වින්යාස නාමාවලියක් ද ඇත:
/etc/cron.d
(සෑම විටම මෙන්, .d
නාමාවලිය විවිධ පැකේජවල කොටසක් වන වින්යාස ඇතුළත් කිරීම් නඩත්තු කිරීම සරල කරයි.)
පහසුව සඳහා, බොහෝ බෙදාහැරීම් වරින් වර සම්බන්ධිත / ගබඩා කළ ස්ක්රිප්ට් ක්රියාත්මක කරන නාමාවලි සපයයි, උදා:
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
එම ස්ක්රිප්ට් කාලානුරූපව ක්රියාත්මක කිරීම සාමාන්යයෙන් කළමනාකරණය run-parts
කරනු ලබන්නේ පද්ධති ක්රොන්ටාබ්හි ඇතුළත් කිරීම් හරහා හෝ ඇනක්රොන් හරහා ය .
Systemd සමඟ (උදා: ෆෙඩෝරා, සෙන්ටෝස් 7, ...) වරින් වර රැකියා ක්රියාත්මක කිරීම අතිරේකව ටයිමර් ඒකක හරහා වින්යාසගත කළ හැකිය . සක්රීය පද්ධති ටයිමරයන් පහත පරිදි පෙන්විය හැකිය:
$ systemctl list-timers
මූලයට අමතරව පරිශීලකයින්ට ටයිමර් වින්යාස කර ඇති ස්ථානවල පරිශීලක පද්ධතිමය අවස්ථාද තිබිය හැකි බව සලකන්න. නිදසුනක් ලෙස, ෆෙඩෝරා හි, පෙරනිමියෙන්, දැනට පුරනය වී ඇති සෑම පරිශීලකයෙකු සඳහාම පරිශීලක systemd නිදසුනක් ආරම්භ කර ඇත. ඒවා හරහා හඳුනාගත හැකිය:
$ ps aux | grep 'systemd[ ]--user'
එම පරිශීලක කාලරාමු පහත පරිදි ලැයිස්තු ගත කළ හැකිය:
$ systemctl --user list-timers
list-timers
විධානය නිකුත් කිරීම සඳහා විකල්පයක් වන්නේ *.timer
සුපුරුදු පද්ධතියේ ටයිමර් ඒකක ලිපිගොනු (රටාව :) සහ ඒවාට සංකේතාත්මක සම්බන්ධතා සෙවීම සහ පරිශීලක පද්ධති වින්යාස නාමාවලි:
$ find /usr/lib/systemd/ /etc/systemd -name '*.timer'
$ find /home '(' -path '/home/*/.local/share/systemd/user/*' \
-o -path '/home/*/.config/systemd/*' ')' \
-name '*.timer' 2> /dev/null
(සාමාන්ය සේවා ඒකක මෙන්, නිවැරදි පද්ධති වින්යාස නාමාවලියෙහි සංකේතාත්මක සබැඳියක් නිර්මාණය කිරීමෙන් ටයිමර් ඒකකයක් සක්රීය කෙරේ.)
මෙයද බලන්න:
crontab -l -u root
(මක්නිසාද යත් මට දැන ගැනීමට අවශ්ය එම ක්රොන්ජොබ්ස් යටතේ root
), එයින් කියවෙන්නේ මට භාවිතා කිරීමට වරප්රසාද නොමැති බවයි -u
.
root
පරිශීලකයා ලෙස .
cronie
, ෆෙඩෝරා සහ RHEL6 හි නැව්ගත කර ඇති පරිදි, එහි සිටින අය වෙත යොමු /etc/crontab
නොවී ඒ වෙනුවට භාවිතා කරන්න /etc/anacrontab
. ඕනෑම වින්යාස ගොනුවක මේවා සඳහන් නොකරන සත්ය ක්රියාත්මක කිරීම් පිළිබඳව මා වරදවා වටහා ගත හැකිය. (නමුත් පසුව, මම පහත් කොට සැලකුවේ නැත .... මම කියමි.)
දී ඇති පරිශීලකයා සඳහා සියලු ක්රොන් ලැයිස්තුගත කිරීම.
crontab -u username -l;
සියලුම පරිශීලකයින් සඳහා සියලුම ක්රොන් ලැයිස්තුගත කිරීම
එය සුපිරි පරිශීලකයෙකු ලෙස ක්රියාත්මක කරන්න
#!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do
crontab -l -u $user;
done
root
හෝapache
වෙනත් කුමන හෝ නොව එක් කළ යුතු භාවිතා/etc/crontab
(බොහෝ distros දී, වඩා හොඳ) හෝ/etc/cron.d
හා/etc/cron.[timeframe]
.