เจเจเจธเจพเจฒเฉ เจจเฉ เจฒเจฟเจเจฟเจ เจเจฟ เจเฉเจธเจผเฉ เจฆเฉ เจเฉฐเจเฉ เจจเจนเฉเจ เจฆเฉเจเจฃเจพเฅค เจเจจเฉเจนเจพเจ เจเฉฐเจเจฒเฉ เจธเจฎเจฟเจเจ เจตเจฟเฉฑเจ เจจเจพ เจคเจพเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฐ เจธเจจ เจ เจคเฉ เจจเจพ เจนเฉ เจฏเฉเจจเจฟเจเจธ, เจชเจฐ เจ เฉฑเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฐ เจชเฉฑเจเจพ เจเจพเจฃเจฆเฉ เจนเจจ: เจเฉเจฐเฉเจจ เจเจนเจจเจพเจ เจฆเฉ เจฌเจเจพเจ เจธเจฎเฉเจ เจฆเจพ เจงเจฟเจเจจ เจฐเฉฑเจเฉเจเจพเฅค
เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเจชเจฏเฉเจเจคเจพเจตเจพเจ เจฎเฉเจฐเฉ เจฒเจ เจเฉฑเจ เจเจฎเจเจผเฉเจฐเฉ เจ เจคเฉ เจเฉฑเจ เจเฉฐเจฎ เจนเจจ. sed, awk, wc, cut เจ เจคเฉ เจนเฉเจฐ เจชเฉเจฐเจพเจฃเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจนเจฐ เจฐเฉเจเจผ เจธเจพเจกเฉ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจฆเฉเจเจฐเจพ เจเจฒเจพเจ เจเจพเจเจฆเฉ เจนเจจเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเฉเจฐเฉเจจ เจฒเจ เจเจพเจฐเจเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจเจ เจนเจจ, เจเฉฑเจ เจธเจผเจกเจฟเจเจฒเจฐ เจ เจธเจฒ เจตเจฟเฉฑเจ 70 เจฆเฉ เจฆเจนเจพเจเฉ เจคเฉเจเฅค
เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจคเฉเจ เจฎเฉเจ เจตเฉเจฐเจตเจฟเจเจ เจตเจฟเฉฑเจ เจเจพเจฃ เจคเฉเจ เจฌเจฟเจจเจพเจ, เจเฉเจฐเฉเจจ เจฆเฉ เจธเจคเจนเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ, เจชเจฐ เจเฉฑเจ เจฆเจฟเจจ, เจเจฆเฉเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเจฒเจพเจเจเจฆเฉ เจธเจฎเฉเจ เจฎเฉเจจเฉเฉฐ เจเฉฑเจ เจเจฒเจคเฉ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจเจฐเจจเจพ เจชเจฟเจ, เจคเจพเจ เจฎเฉเจ เจเจธเจจเฉเฉฐ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเฅค เจเจน เจฒเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจชเฉเจฐเจเจ เจนเฉเจเจ, เจเจธ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจตเฉเจฒเฉ เจฎเฉเจ POSIX เจเฉเจฐเฉเจจเจเฉเจฌ, เจชเฉเจฐเจธเจฟเฉฑเจง เจฒเฉเจจเจเจธ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจ เจเฉเจฐเฉเจจ เจตเจฟเจเจฒเจชเจพเจ เจ เจคเฉ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจฆเฉ เจฌเจฃเจคเจฐ เจคเฉเจ เจเจพเจฃเฉ เจนเฉ เจเจฟเจเฅค
เจเฉ เจคเฉเจธเฉเจ เจฒเฉเจจเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉ เจ เจคเฉ เจเฉเจฐเฉเจจ เจเจพเจธเจ เจเจฒเจพ เจฐเจนเฉ เจนเฉ? เจเฉ เจคเฉเจธเฉเจ เจฏเฉเจจเจฟเจเจธ เจตเจฟเฉฑเจ เจธเจฟเจธเจเจฎ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฐเจเฉเจเฉเจเจเจฐ เจตเจฟเฉฑเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฆเฉ เจนเฉ? เจซเจฟเจฐ เจ เจธเฉเจ เจเจชเจฃเฉ เจฐเจพเจน 'เจคเฉ เจนเจพเจ!
เจธเจฎเฉฑเจเจฐเฉ
เจธเจชเฉเจธเฉเจเจผ เจฆเจพ เจฎเฉเจฒ เจชเฉเจธเจฟเจเจธ เจเฉเจฐเฉเจจเจเฉเจฌ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจตเจฟเจเจฐเฉเจคเจพ - Vixie cron 3.0pl1 เจกเฉเจฌเฉเจ เจจ เจ เจคเฉ เจเจฌเฉฐเจเฉ 'เจคเฉ cron Red Hat, Fedora เจ เจคเฉ CentOS 'เจคเฉ cronie cronie ะฒ SLES ะธ openSUSE เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจกเจฟเจตเจพเจเจธ เจฌเจพเจ เจฆ
เจธเจชเฉเจธเฉเจเจผ เจฆเจพ เจฎเฉเจฒ
เจธเจพเจฐเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎเจพเจ เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจเจพเจ เจธเจฟเจธเจเจฎ เจชเฉเจฐเฉเจเจฐเจพเจฎเจพเจ เจฆเฉ เจธเจฎเฉเจ-เจธเจฎเฉเจ 'เจคเฉ เจเฉฑเจฒเจฃ เจฆเฉ เจเฉฑเจ เจธเจชเฉฑเจธเจผเจ เจฒเฉเฉ เจนเฉเฅค เจเจธ เจฒเจ, เจชเฉเจฐเฉเจเจฐเจพเจฎเจฐเจพเจ เจจเฉเฉฐ เจธเฉเจตเจพเจตเจพเจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจฆเจพ เจ เจนเจฟเจธเจพเจธ เจนเฉเจเจ เจเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉเจเจฆเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจคเฉเจ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเฉ เจนเจจเฅค
เจฏเฉเจจเจฟเจเจธ-เจตเจฐเจเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจเจชเจฃเฉ เจฎเฉเจฒ เจจเฉเฉฐ เจตเจฐเจเจจ 7 เจฏเฉเจจเจฟเจเจธ เจคเฉเจ เจฒเฉฑเจญเจฆเฉ เจนเจจ, เจเฉ เจเจฟ เจชเจฟเจเจฒเฉ เจธเจฆเฉ เจฆเฉ 70 เจฆเฉ เจฆเจนเจพเจเฉ เจตเจฟเฉฑเจ เจฌเฉเจฒ เจฒเฉเจฌเจเจผ เจตเจฟเฉฑเจ เจตเจฟเจเจธเจค เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ เจฎเจธเจผเจนเฉเจฐ เจเฉเจจ เจฅเฉเจฎเจธเจจ เจตเฉ เจธเจผเจพเจฎเจฒ เจธเจจเฅค เจธเฉฐเจธเจเจฐเจฃ 7 เจฏเฉเจจเจฟเจเจธ เจตเจฟเฉฑเจ เจเฉเจฐเฉเจจ เจตเฉ เจธเจผเจพเจฎเจฒ เจนเฉ, เจเฉ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจจเจฟเจฏเจฎเจค เจคเฉเจฐ 'เจคเฉ เจเจฒเจพเจเจฃ เจฒเจ เจเฉฑเจ เจธเฉเจตเจพ เจนเฉเฅค
เจเฉฑเจ เจเจฎ เจเจงเฉเจจเจฟเจ เจเฉเจฐเฉเจจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจนเฉ, เจชเจฐ เจ เจธเจฒ เจธเฉฐเจธเจเจฐเจฃ เจฆเจพ เจเจชเจฐเฉเจเจฟเฉฐเจ เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจนเฉเจฐ เจตเฉ เจธเจฐเจฒ เจธเฉ: เจธเฉเจตเจพ เจเฉฑเจ เจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจเฉฑเจ เจฆเฉ เจนเฉ, เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจซเจพเจเจฒ (/etc/lib/crontab) เจคเฉเจ เจเจพเจฐเจเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจชเฉเฉเจนเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจนเจจเจพเจ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจเจฐเจฆเจพ เจนเฉ เจเฉ เจฎเฉเจเฉเจฆเจพ เจธเจฎเฉเจ เจตเจฟเฉฑเจ เจเฉเจคเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจเฅค
เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจงเจพเจฐเจจ เจ เจคเฉ เจเจชเจฏเฉเจเฉ เจธเฉเจตเจพ เจฆเฉ เจธเฉเจงเจฐเฉ เจนเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจจเฉเฉฐ เจธเจพเจฐเฉ เจฏเฉเจจเจฟเจเจธ-เจตเจฐเจเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎเจพเจ เจจเจพเจฒ เจธเจชเจฒเจพเจ เจเฉเจคเจพ เจเจฟเจเฅค
เจเฉเจฐเฉเจจเจเฉเจฌ เจซเจพเจฐเจฎเฉเจ เจฆเฉ เจธเจงเจพเจฐเจฃ เจตเจฐเจฃเจจ เจ เจคเฉ เจเจชเจฏเฉเจเจคเจพ เจฆเฉ เจธเฉฐเจเจพเจฒเจจ เจฆเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจธเจฟเจงเจพเจเจคเจพเจ เจจเฉเฉฐ 1992 เจตเจฟเฉฑเจ เจฏเฉเจจเจฟเจเจธ-เจตเจฐเจเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ - เจชเฉเจธเจฟเจเจธ - เจฆเฉ เจฎเฉเฉฑเจ เจธเจเฉเจเจกเจฐเจก เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจ เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจเฉฑเจ เจกเฉ เจซเฉเจเจเฉ เจธเจเฉเจเจกเจฐเจก เจคเฉเจ เจเฉเจฐเฉเจจ เจเฉฑเจ เจกเฉ เจเจฟเจเจฐ เจธเจเฉเจเจกเจฐเจก เจฌเจฃ เจเจฟเจเฅค
1987 เจตเจฟเฉฑเจ, เจชเฉเจฒ เจตเจฟเจเจธเฉ, เจฏเฉเจจเจฟเจเจธ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจเฉเจฐเฉเจจ เจฒเจ เจเจนเจจเจพเจ เจฆเฉเจเจ เจเฉฑเจเจพเจตเจพเจ เจฌเจพเจฐเฉ เจธเจฐเจตเฉเจเจฃ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจกเฉเจฎเจจ เจฆเจพ เจเฉฑเจ เจนเฉเจฐ เจธเฉฐเจธเจเจฐเจฃ เจเจพเจฐเฉ เจเฉเจคเจพ เจเจฟเจธ เจจเฉ เจฐเจตเจพเจเจคเฉ เจเฉเจฐเฉเจจ เจฆเฉเจเจ เจเฉเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเฉเฉฐ เจ เฉเจ เจเฉเจคเจพ เจ เจคเฉ เจเฉเจฌเจฒ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉฐเจเฉเจเจธ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจเฉเจคเจพเฅค
เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจฆเฉ เจคเฉเจเฉ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉเจเจฐเจพ เจชเฉเจธเจฟเจเจธ เจฆเฉเจเจ เจเจผเจฐเฉเจฐเจคเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเจฟเจ, เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจชเฉเจฐเฉเจเจฐเจพเจฎ เจเฉเจฒ เจเฉฑเจ เจเจฆเจพเจฐเจตเจพเจฆเฉ เจฒเจพเจเจธเฉเจเจธ เจธเฉ, เจเจพเจ README เจตเจฟเฉฑเจ เจเฉฑเจเจพเจตเจพเจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ, เจเฉเจ เจฒเจพเจเจธเฉเจเจธ เจจเจนเฉเจ เจธเฉ: เจฒเฉเจเจ เจเจพเจฐเฉฐเจเฉ เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเจพ, เจฒเฉเจเจ เจฆเจพ เจจเจพเจฎ เจจเฉเฉฐ เจฎเจฟเจเจพเจเจ เจจเจนเฉเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจจเฉเฉฐ เจธเจฟเจฐเจซ เจธเจฐเฉเจค เจเฉเจก เจฆเฉ เจจเจพเจฒ เจตเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจน เจฒเฉเฉเจพเจ เจฎเฉเจซเจค เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจธเจฟเจงเจพเจเจคเจพเจ เจฆเฉ เจ เจจเฉเจเฉเจฒ เจธเจพเจฌเจค เจนเฉเจเจเจ เจเฉ เจเจนเจจเจพเจ เจธเจพเจฒเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจธเจฟเฉฑเจงเฉ เจชเฉเจฐเจพเจชเจค เจเจฐ เจฐเจนเฉ เจธเจจ, เจเจธเจฒเจ 90 เจฆเฉ เจฆเจนเจพเจเฉ เจฆเฉ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจ เจนเฉเจฃ เจตเจพเจฒเฉเจเจ เจเฉเจ เจฎเฉเฉฑเจ เจฒเฉเจจเจเจธ เจตเฉฐเจกเจพเจ เจจเฉ เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจจเฉเฉฐ เจเจชเจฃเฉ เจธเจฟเจธเจเจฎ เจตเจเฉเจ เจฒเจฟเจ เจ เจคเฉ เจ เฉฑเจ เจตเฉ เจเจธเจจเฉเฉฐ เจตเจฟเจเจธเจค เจเจฐ เจฐเจนเฉ เจนเจจเฅค
เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, Red Hat เจ เจคเฉ SUSE Vixie cron - cronie เจฆเจพ เจเฉฑเจ เจซเฉเจฐเจ เจตเจฟเจเจธเจฟเจค เจเจฐเจฆเฉ เจนเจจ, เจ เจคเฉ เจกเฉเจฌเฉเจ เจจ เจ เจคเฉ เจเจฌเฉฐเจเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจชเฉเจเจพเจ เจฆเฉ เจจเจพเจฒ Vixie cron เจฆเฉ เจ เจธเจฒ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจเฅค
เจเจ เจชเจนเจฟเจฒเจพเจ POSIX เจตเจฟเฉฑเจ เจตเจฐเจฃเจฟเจค เจเจชเจญเฉเจเจคเจพ เจเจชเจฏเฉเจเจคเจพ เจเฉเจฐเฉเจจเจเฉเจฌ เจคเฉเจ เจเจพเจฃเฉ เจนเฉเจเจ, เจเจฟเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจ เจธเฉเจ Vixie cron เจตเจฟเฉฑเจ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจธเจฟเฉฐเจเฉเจเจธ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจ เจคเฉ เจชเฉเจฐเจธเจฟเฉฑเจง Linux เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจตเจฟเฉฑเจ Vixie cron เจฆเฉ เจญเจฟเฉฐเจจเจคเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจจเฉเฉฐ เจตเฉเจเจพเจเจเฉเฅค เจ เจคเฉ เจ เฉฐเจค เจตเจฟเฉฑเจ, เจเฉเจ เจเฉฑเจคเฉ เจเฉเจฐเฉ เจเฉเจฐเฉเจจ เจกเฉเจฎเจจ เจกเจฟเจตเจพเจเจธ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจนเฉเฅค
เจชเฉเจธเจฟเจเจธ เจเฉเจฐเฉเจจเจเฉเจฌ
เจเฉ เจ เจธเจฒเฉ เจเจฐเฉเจจ เจนเจฎเฉเจธเจผเจพ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจฒเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจคเจพเจ เจเจงเฉเจจเจฟเจ เจธเจผเจกเจฟเจเจฒเจฐ เจ เจเจธเจฐ เจเจฎ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉ เจเฉฐเจฎเจพเจ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฆเฉ เจนเจจ, เจเฉ เจเจฟ เจตเจงเฉเจฐเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจ เจคเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉเฅค
ะกron-ั ะฟะพััะฐะฒะปััััั ะบะพะผะฟะปะตะบัะพะผ ะธะท ะดะฒัั ะฟัะพะณัะฐะผะผ: ะฟะพััะพัะฝะฝะพ ัะฐะฑะพัะฐััะตะณะพ ะดะตะผะพะฝะฐ cron ะธ ะดะพัััะฟะฝะพะน ะฟะพะปัะทะพะฒะฐัะตะปัะผ ััะธะปะธัั crontab. ะะพัะปะตะดะฝัั ะฟะพะทะฒะพะปัะตั ัะตะดะฐะบัะธัะพะฒะฐัั ัะฐะฑะปะธัั ะทะฐะดะฐั, ัะฟะตัะธัะธัะฝัะต ะดะปั ะบะฐะถะดะพะณะพ ะฟะพะปัะทะพะฒะฐัะตะปั ะฒ ัะธััะตะผะต, ะดะตะผะพะฝ ะถะต ะทะฐะฟััะบะฐะตั ะทะฐะดะฐัะธ ะธะท ะฟะพะปัะทะพะฒะฐัะตะปััะบะธั ะธ ัะธััะตะผะฝะพะน ัะฐะฑะปะธั.
ะ
เจเฉเจฐเฉเจจเจเฉเจฌ เจเจชเจฏเฉเจเจคเจพ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจเฉ, เจคเฉเจธเฉเจ เจเจพเจฐ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเฉ เจนเฉ: เจธเฉฐเจชเจพเจฆเจ เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจเจพเจธเจ เจเฉเจฌเจฒ เจจเฉเฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเฉ, เจเฉเจฌเจฒ เจจเฉเฉฐ เจเฉฑเจ เจซเจพเจเจฒ เจคเฉเจ เจฒเฉเจก เจเจฐเฉ, เจฎเฉเจเฉเจฆเจพ เจเจพเจธเจ เจเฉเจฌเจฒ เจฆเจฟเจเจพเจ, เจ เจคเฉ เจเจพเจธเจ เจเฉเจฌเจฒ เจจเฉเฉฐ เจเจฒเฉเจ เจฐ เจเจฐเฉเฅค เจเฉเจฐเฉเจจเจเฉเจฌ เจเจชเจฏเฉเจเจคเจพ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจจเจพเจ:
crontab -e # ัะตะดะฐะบัะธัะพะฒะฐัั ัะฐะฑะปะธัั ะทะฐะดะฐั
crontab -l # ะฟะพะบะฐะทะฐัั ัะฐะฑะปะธัั ะทะฐะดะฐั
crontab -r # ัะดะฐะปะธัั ัะฐะฑะปะธัั ะทะฐะดะฐั
crontab path/to/file.crontab # ะทะฐะณััะทะธัั ัะฐะฑะปะธัั ะทะฐะดะฐั ะธะท ัะฐะนะปะฐ
เจเจฆเฉเจ เจฌเฉเจฒเจพเจเจ เจเจฟเจ crontab -e
เจฎเจฟเจเจฐเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจจเจฟเจฐเจฆเจฟเจธเจผเจ เจธเฉฐเจชเจพเจฆเจ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพ EDITOR
.
เจเฉฐเจฎ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจฃเจจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ:
# ัััะพะบะธ-ะบะพะผะผะตะฝัะฐัะธะธ ะธะณะฝะพัะธัััััั
#
# ะทะฐะดะฐัะฐ, ะฒัะฟะพะปะฝัะตะผะฐั ะตะถะตะผะธะฝััะฝะพ
* * * * * /path/to/exec -a -b -c
# ะทะฐะดะฐัะฐ, ะฒัะฟะพะปะฝัะตะผะฐั ะฝะฐ 10-ะน ะผะธะฝััะต ะบะฐะถะดะพะณะพ ัะฐัะฐ
10 * * * * /path/to/exec -a -b -c
# ะทะฐะดะฐัะฐ, ะฒัะฟะพะปะฝัะตะผะฐั ะฝะฐ 10-ะน ะผะธะฝััะต ะฒัะพัะพะณะพ ัะฐัะฐ ะบะฐะถะดะพะณะพ ะดะฝั ะธ ะธัะฟะพะปัะทัััะฐั ะฟะตัะตะฝะฐะฟัะฐะฒะปะตะฝะธะต ััะฐะฝะดะฐััะฝะพะณะพ ะฟะพัะพะบะฐ ะฒัะฒะพะดะฐ
10 2 * * * /path/to/exec -a -b -c > /tmp/cron-job-output.log
เจฐเจฟเจเจพเจฐเจกเจพเจ เจฆเฉ เจชเจนเจฟเจฒเฉ เจชเฉฐเจ เจเฉเจคเจฐ: เจฎเจฟเฉฐเจ [1..60], เจเฉฐเจเฉ [0..23], เจฎเจนเฉเจจเฉ เจฆเฉ เจฆเจฟเจจ [1..31], เจฎเจนเฉเจจเฉ [1..12], เจนเจซเจผเจคเฉ เจฆเฉ เจฆเจฟเจจ [0. .6], เจเจฟเฉฑเจฅเฉ 0 เจเจคเจตเจพเจฐ เจนเฉเฅค เจเจเจฐเฉ, เจเฉเจตเจพเจ, เจเฉเจคเจฐ เจเฉฑเจ เจฒเจพเจเจจ เจนเฉ เจเฉ เจธเจเฉเจเจกเจฐเจก เจเจฎเจพเจเจก เจเฉฐเจเจฐเจชเฉเจฐเฉเจเจฐ เจฆเฉเจเจฐเจพ เจเจฒเจพเจเจ เจเจพเจตเฉเจเจพเฅค
เจชเจนเจฟเจฒเฉ เจชเฉฐเจ เจเฉเจคเจฐเจพเจ เจตเจฟเฉฑเจ, เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจเจพเจฎเจฟเจเจ เจจเจพเจฒ เจตเฉฑเจ เจเจฐเจเฉ เจธเฉเจเฉเจฌเฉฑเจง เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
# ะทะฐะดะฐัะฐ, ะฒัะฟะพะปะฝัะตะผะฐั ะฒ ะฟะตัะฒัั ะธ ะดะตััััั ะผะธะฝััั ะบะฐะถะดะพะณะพ ัะฐัะฐ
1,10 * * * * /path/to/exec -a -b -c
เจเจพเจ เจนเจพเจเจซเจจ เจจเจพเจฒ:
# ะทะฐะดะฐัะฐ, ะฒัะฟะพะปะฝัะตะผะฐั ะฒ ะบะฐะถะดัั ะธะท ะฟะตัะฒัั
ะดะตัััะธ ะผะธะฝัั ะบะฐะถะดะพะณะพ ัะฐัะฐ
0-9 * * * * /path/to/exec -a -b -c
POSIX เจตเจฟเฉฑเจ cron.allow เจ เจคเฉ cron.deny เจซเจพเจเจฒเจพเจ เจฆเฉเจเจฐเจพ เจเจพเจธเจ เจธเจผเจกเจฟเจเจฒเจฟเฉฐเจ เจคเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจจเจฟเจฏเฉฐเจคเฉเจฐเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจเฉ เจเฉเจฐเจฎเจตเจพเจฐ เจเฉเจฐเฉเจจเจเฉเจฌ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจตเจพเจฒเฉ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจ เจคเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจธเฉเจเฉเจฌเฉฑเจง เจเจฐเจฆเฉ เจนเจจเฅค เจธเจเฉเจเจกเจฐเจก เจเจฟเจธเฉ เจตเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเจนเจจเจพเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจจเจฟเจฏเฉฐเจคเฉเจฐเจฟเจค เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเจเฉเจเจกเจฐเจก เจฆเฉ เจ เจจเฉเจธเจพเจฐ, เจฒเจพเจเจ เจเฉเจคเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎเจพเจ เจฒเจ เจเฉฑเจเฉ เจเฉฑเจ เจเจพเจฐ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจชเจพเจธ เจเฉเจคเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ:
- HOME - เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจนเฉเจฎ เจกเจพเจเจฐเฉเจเจเจฐเฉเฅค
- LOGNAME โ เจเจชเจญเฉเจเจคเจพ เจฒเฉเจเจเจจเฅค
- PATH เจเจน เจฎเจพเจฐเจ เจนเฉ เจเจฟเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจฎเจฟเจเจฐเฉ เจธเจฟเจธเจเจฎ เจเจชเจฏเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉเฅค
- เจธเจผเฉเฉฑเจฒ - เจตเจฐเจคเฉ เจเจ เจเจฎเจพเจเจก เจเฉฐเจเจฐเจชเฉเจฐเฉเจเจฐ เจฒเจ เจฎเจพเจฐเจเฅค
เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, POSIX เจเจธ เจฌเจพเจฐเฉ เจเฉเจ เจจเจนเฉเจ เจเจนเจฟเฉฐเจฆเจพ เจเจฟ เจเจนเจจเจพเจ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจฆเฉ เจฎเฉเฉฑเจฒ เจเจฟเฉฑเจฅเฉเจ เจเจเจเจฆเฉ เจนเจจเฅค
เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจตเจฟเจเจฐเฉเจคเจพ - Vixie cron 3.0pl1
เจชเฉเจฐเจธเจฟเฉฑเจง เจเจฐเฉเจจ เจฐเฉเจชเจพเจ เจฆเจพ เจธเจพเจเจเจพ เจชเฉเจฐเจตเจ Vixie cron 3.0pl1 เจนเฉ, เจเฉ 1992 เจตเจฟเฉฑเจ comp.sources.unix เจฎเฉเจฒเจฟเฉฐเจ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจ เจธเฉเจ เจเจธ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉเจเจ เจฎเฉเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจจเฉเฉฐ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจตเจฟเจเจพเจฐเจพเจเจเฉ.
Vixie cron เจฆเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎเจพเจ (cron เจ เจคเฉ crontab) เจตเจฟเฉฑเจ เจเจเจเจฆเจพ เจนเฉเฅค เจเจฎ เจตเจพเจเจ, เจกเฉเจฎเจจ เจธเจฟเจธเจเจฎ เจเจพเจธเจ เจเฉเจฌเจฒ เจ เจคเฉ เจตเจฟเจ เจเจคเฉเจเจค เจฏเฉเจเจผเจฐ เจเจพเจธเจ เจเฉเจฌเจฒ เจคเฉเจ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจชเฉเฉเจนเจจ เจ เจคเฉ เจเจฒเจพเจเจฃ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉ, เจ เจคเฉ เจเฉเจฐเฉเจจเจเฉเจฌ เจเจชเจฏเฉเจเจคเจพ เจเจชเจญเฉเจเจคเจพ เจเฉเจฌเจฒ เจจเฉเฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฅค
เจเจพเจธเจ เจเฉเจฌเจฒ เจ เจคเฉ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒเจพเจ
เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจเจพเจธเจ เจเฉเจฌเจฒ /etc/crontab เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเฉเฅค เจธเจฟเจธเจเจฎ เจเฉเจฌเจฒ เจฆเจพ เจธเฉฐเจเฉเจเจธ เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจฆเฉ เจธเฉฐเจเฉเจเจธ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉ, เจเจธ เจ เจชเจตเจพเจฆ เจฆเฉ เจจเจพเจฒ เจเจฟ เจเจธ เจตเจฟเฉฑเจ เจเฉเจตเจพเจ เจเจพเจฒเจฎ เจเจธ เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจจเจพเจฎ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟเจธเจฆเฉ เจ เจงเฉเจจ เจเฉฐเจฎ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ:
# ะะฐะฟััะบะฐะตััั ะตะถะตะผะธะฝััะฝะพ ะพั ะฟะพะปัะทะพะฒะฐัะตะปั vlad
* * * * * vlad /path/to/exec
เจจเจฟเจฏเจฎเจค เจเจชเจญเฉเจเจคเจพ เจเจพเจธเจ เจเฉเจฌเจฒ /var/cron/tabs/username เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเจจ เจ เจคเฉ เจเจนเฉ เจธเฉฐเจเฉเจเจธ เจตเจฐเจคเจฆเฉ เจนเจจเฅค เจเจฆเฉเจ เจคเฉเจธเฉเจ เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจตเจเฉเจ เจเฉเจฐเฉเจจเจเฉเจฌ เจเจชเจฏเฉเจเจคเจพ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเจน เจเจน เจซเจพเจเจฒเจพเจ เจนเจจ เจเฉ เจธเฉฐเจชเจพเจฆเจฟเจค เจเฉเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจเฅค
crontab เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจตเจพเจฒเฉ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉเจเจ เจธเฉเจเฉเจเจ เจจเฉเฉฐ /var/cron/allow เจ เจคเฉ /var/cron/deny เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจเจฟเฉฑเจฅเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจฒเจพเจเจจ เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ เจฆเจฐเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉฐเจเฉเจเจธ
POSIX เจเฉเจฐเฉเจจเจเฉเจฌ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ, เจชเฉเจฒ เจตเจฟเจเจธเฉ เจฆเฉ เจนเฉฑเจฒ เจตเจฟเฉฑเจ เจเจชเจฏเฉเจเจคเจพ เจฆเฉ เจเจพเจธเจ เจเฉเจฌเจฒ เจฆเฉ เจธเฉฐเจเฉเจเจธ เจตเจฟเฉฑเจ เจเจ เจฌเจนเฉเจค เจเจชเจฏเฉเจเฉ เจธเฉเจงเจพเจ เจธเจผเจพเจฎเจฒ เจนเจจเฅค
เจเฉฑเจ เจจเจตเจพเจ เจธเจพเจฐเจฃเฉ เจธเฉฐเจเฉเจเจธ เจเจชเจฒเจฌเจง เจนเฉ เจเจฟเจ เจนเฉ: เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจจเจพเจฎ (เจธเฉเจฎ, เจฎเฉฐเจเจฒเจตเจพเจฐ, เจ เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ) เจฆเฉเจเจฐเจพ เจนเจซเจผเจคเฉ เจฆเฉ เจฆเจฟเจจเจพเจ เจเจพเจ เจฎเจนเฉเจจเจฟเจเจ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ:
# ะะฐะฟััะบะฐะตััั ะตะถะตะผะธะฝััะฝะพ ะฟะพ ะฟะพะฝะตะดะตะปัะฝะธะบะฐะผ ะธ ะฒัะพัะฝะธะบะฐะผ ะฒ ัะฝะฒะฐัะต
* * * Jan Mon,Tue /path/to/exec
เจคเฉเจธเฉเจ เจเจน เจชเฉเจพเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟเจธ เจฐเจพเจนเฉเจ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ:
# ะะฐะฟััะบะฐะตััั ั ัะฐะณะพะผ ะฒ ะดะฒะต ะผะธะฝััั
*/2 * * * Mon,Tue /path/to/exec
เจเจฆเจฎ เจ เจคเฉ เจ เฉฐเจคเจฐเจพเจฒ เจฎเจฟเจฒเจพเจ เจเจพ เจธเจเจฆเฉ เจนเจจ:
# ะะฐะฟััะบะฐะตััั ั ัะฐะณะพะผ ะฒ ะดะฒะต ะผะธะฝััั ะฒ ะฟะตัะฒัั
ะดะตัััั ะผะธะฝัั ะบะฐะถะดะพะณะพ ัะฐัะฐ
0-10/2 * * * * /path/to/exec
เจเจฎ เจธเฉฐเจเฉเจเจธ เจฆเฉ เจ เจจเฉเจญเจตเฉ เจตเจฟเจเจฒเจช เจธเจฎเจฐเจฅเจฟเจค เจนเจจ (เจฐเฉเจฌเฉเจ, เจธเจพเจฒเจพเจจเจพ, เจธเจพเจฒเจพเจจเจพ, เจฎเจนเฉเจจเจพเจตเจพเจฐ, เจนเจซเจคเจพเจตเจพเจฐเฉ, เจฐเฉเจเจผเจพเจจเจพ, เจ เฉฑเจงเฉ เจฐเจพเจค, เจเฉฐเจเจพ):
# ะะฐะฟััะบะฐะตััั ะฟะพัะปะต ะฟะตัะตะทะฐะณััะทะบะธ ัะธััะตะผั
@reboot /exec/on/reboot
# ะะฐะฟััะบะฐะตััั ัะฐะท ะฒ ะดะตะฝั
@daily /exec/daily
# ะะฐะฟััะบะฐะตััั ัะฐะท ะฒ ัะฐั
@hourly /exec/daily
เจเจพเจธเจ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจตเจพเจคเจพเจตเจฐเจจ
Vixie cron เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจฒ เจฐเจนเฉเจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค
เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ USER, LOGNAME เจ
เจคเฉ HOME เจธเจฟเจฐเจซเจผ เจกเฉเจฎเจจ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจนเจจ, เจฌเจฒเจเจฟ เจเฉฑเจ เจซเจพเจเจฒ เจคเฉเจ เจฒเจ เจเจ เจนเจจเฅค
เจเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ (เจธเจญ เจคเฉเจ เจเจพเจธ เจคเฉเจฐ 'เจคเฉ SHELL เจ เจคเฉ HOME) เจเฉฐเจฎ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเฉเจฐเฉเจจ เจฆเฉเจเจฐเจพ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจจเฅค เจเจธเจเจฎ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจธเจเฉเจเจกเจฐเจก sh เจฆเฉ เจฌเจเจพเจ bash เจฆเฉ เจตเจฐเจคเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉ เจธเจเจฆเฉ เจนเฉ:
SHELL=/bin/bash
HOME=/tmp/
# exec ะฑัะดะตั ะทะฐะฟััะตะฝ bash-ะตะผ ะฒ /tmp/
* * * * * /path/to/exec
เจ เฉฐเจค เจตเจฟเฉฑเจ, เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจธเจพเจฐเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ (เจเฉเจฐเฉเจจ เจฆเฉเจเจฐเจพ เจตเจฐเจคเฉ เจเจ เจเจพเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉเจเจฐเจพ เจฒเฉเฉเฉเจเจฆเฉ) เจเฉฑเจฒ เจฐเจนเฉ เจเฉฐเจฎ เจฒเจ เจชเจพเจธ เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค
เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเจจ เจฒเจ, เจเฉเจฐเฉเจจเจเฉเจฌ เจตเจฟเจเจผเฉเจ เจฒ เจเจพเจ เจเจกเฉเจเจฐ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจธเฉฐเจชเจพเจฆเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจเจฟเฉฑเจฅเฉ เจเฉเจฐเฉเจจเจเฉเจฌ เจเจฒเจพเจเจ เจเจฟเจ เจธเฉ, เจตเจฟเฉฑเจ เจเจน เจตเฉเจฐเฉเจเจฌเจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉเจ เจนเจจ, เจคเจพเจ "/usr/ucb/vi" เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (ucb เจธเจผเจพเจเจฆ เจเฉเจฒเฉเจซเฉเจฐเจจเฉเจ เจฏเฉเจจเฉเจตเจฐเจธเจฟเจเฉ, เจฌเจฐเจเจฒเฉ เจนเฉ)เฅค
เจกเฉเจฌเฉเจ เจจ เจ เจคเฉ เจเจฌเฉฐเจเฉ 'เจคเฉ cron
เจกเฉเจฌเฉเจ
เจจ เจ
เจคเฉ เจกเฉเจฐเฉเจตเฉเจเจฟเจต เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจฆเฉ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจจเฉ เจเจพเจฐเฉ เจเฉเจคเจพ เจนเฉ
เจเฉฑเจ เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ, เจชเจฐ เจ เฉเจธ เจคเจฌเจฆเฉเจฒเฉเจเจ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒเจพเจ เจ เจคเฉ เจเจพเจธเจ เจเฉเจฌเจฒเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจธเจผเจพเจฎเจฒ เจนเฉเฅค
เจกเฉเจฌเฉเจ เจจ เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจเฉเจฌเจฒ /var/sool/cron/crontabs เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเจจ, เจธเจฟเจธเจเจฎ เจเฉเจฌเจฒ เจ เจเฉ เจตเฉ เจเฉฑเจฅเฉ เจนเฉ - /etc/crontab เจตเจฟเฉฑเจเฅค เจกเฉเจฌเฉเจ เจจ เจชเฉเจเฉเจ-เจตเจฟเจธเจผเฉเจธเจผ เจเจพเจธเจ เจเฉเจฌเจฒ เจจเฉเฉฐ /etc/cron.d เจตเจฟเฉฑเจ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉ, เจเจฟเฉฑเจฅเฉเจ เจเฉเจฐเฉเจจ เจกเฉเจฎเจจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจชเฉเฉเจนเจฆเจพ เจนเฉเฅค เจเจชเจญเฉเจเจคเจพ เจชเจนเฉเฉฐเจ เจจเจฟเจฏเฉฐเจคเจฐเจฃ /etc/cron.allow เจ เจคเฉ /etc/cron.deny เจซเจพเจเจฒเจพเจ เจฆเฉเจเจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
เจกเจฟเจซเจพเจฒเจ เจธเจผเฉเฉฑเจฒ เจ
เจเฉ เจตเฉ /bin/sh เจนเฉ, เจเฉ เจกเฉเจฌเฉเจ
เจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเจพ POSIX-เจ
เจจเฉเจเฉเจฒ เจธเจผเฉเฉฑเจฒ เจนเฉเฅค
เจกเฉเจฌเฉเจ เจจ เจฆเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจเฉเจฐเฉเจจ เจเฉเจฆ systemd เจฆเฉเจเจฐเจพ เจฒเจพเจเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจ เจคเฉ เจฒเจพเจเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ /lib/systemd/system/cron.service เจตเจฟเฉฑเจ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจธเฉเจตเจพ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉเจ เจเจพเจธ เจจเจนเฉเจ เจนเฉ; เจเฉเจ เจตเฉ เจนเฉเจฐ เจธเฉเจเจฎ เจเจพเจฐเจ เจชเฉเจฐเจฌเฉฐเจงเจจ เจนเจฐเฉเจ เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจเฉเจฐเฉเจจเจเฉเจฌ เจตเจฟเฉฑเจ เจธเจฟเฉฑเจงเฉ เจเฉเจธเจผเจฟเจค เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเฉเจเจฐเจพ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
RedHat, Fedora เจ เจคเฉ CentOS 'เจคเฉ cronie
เจกเจฟเจซเจพเจฒเจ เจธเฉฐเจฐเจเจจเจพ เจเจฎ เจธเจฅเจพเจจเจพเจ เจตเจฟเฉฑเจ เจนเฉ: เจธเจฟเจธเจเจฎ เจเฉเจฌเจฒ /etc/crontab เจตเจฟเฉฑเจ เจนเฉ, เจชเฉเจเฉเจ เจเจชเจฃเฉ เจเฉเจฌเจฒ เจจเฉเฉฐ /etc/cron.d เจตเจฟเฉฑเจ เจฐเฉฑเจเจฆเฉ เจนเจจ, เจเจชเจญเฉเจเจคเจพ เจเฉเจฌเจฒ /var/sool/cron/crontabs เจตเจฟเฉฑเจ เจเจพเจเจฆเฉ เจนเจจเฅค
เจกเฉเจฎเจจ systemd เจเฉฐเจเจฐเฉเจฒ เจ เจงเฉเจจ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจธเฉเจตเจพ เจธเฉฐเจฐเจเจจเจพ /lib/systemd/system/crond.service เจนเฉเฅค
Red Hat-เจตเจฐเจเฉเจเจ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจเจพเจ เจเฉฑเจคเฉ, /bin/sh เจจเฉเฉฐ เจธเจผเฉเจฐเฉเจเจคเฉ เจธเจฎเฉเจ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจเฉ เจเจฟ เจธเจเฉเจเจกเจฐเจก เจฌเฉเจธเจผ เจนเฉเฅค เจเจน เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจเจฆเฉเจ /bin/sh เจฐเจพเจนเฉเจ เจเฉเจฐเฉเจจ เจเฉเจฌเจพเจ เจเจฒเจพเจเจเจฆเฉ เจนเจจ, เจคเจพเจ เจฌเฉเจธเจผ เจธเจผเฉเฉฑเจฒ POSIX-เจ เจจเฉเจเฉเจฒ เจฎเฉเจก เจตเจฟเฉฑเจ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉเจฐ-เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจเฉฑเจฒเจฆเฉ เจนเฉเจ, เจเฉเจ เจตเจพเจงเฉ เจธเฉฐเจฐเจเจจเจพ เจจเจนเฉเจ เจชเฉเฉเจนเจฆเจพ เจนเฉเฅค
cronie ะฒ SLES ะธ openSUSE
เจเจฐเจฎเจจ เจกเจฟเจธเจเฉเจฐเฉเจฌเจฟเจเจธเจผเจจ SLES เจ เจคเฉ เจเจธเจฆเฉ เจกเฉเจฐเฉเจตเฉเจเจฟเจต เจเจชเจจเจธเฉเจธเฉ เจเฉฑเจเฉ เจเฉเจฐเฉเจจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจเฅค เจเฉฑเจฅเฉ เจกเฉเจฎเจจ เจตเฉ systemd เจ เจงเฉเจจ เจฒเจพเจเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจธเฉเจตเจพ เจธเฉฐเจฐเจเจจเจพ /usr/lib/systemd/system/cron.service เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเฉเฅค เจธเฉฐเจฐเจเจจเจพ: /etc/crontab, /etc/cron.d, /var/spool/cron/tabs. /bin/sh เจเจนเฉ เจฌเฉเจธเจผ เจนเฉ เจเฉ POSIX-เจ เจจเฉเจเฉเจฒ เจเฉเจฐ-เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉเฅค
เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจกเจฟเจตเจพเจเจธ
เจเฉเจฐเฉเจจ เจฆเฉ เจเจงเฉเจจเจฟเจ เจตเฉฐเจธเจผเจเจพเจ เจจเฉ เจตเจฟเจเจธเฉ เจเฉเจฐเฉเจจ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจจเจนเฉเจ เจฌเจฆเจฒเจฟเจ เจนเฉ, เจชเจฐ เจซเจฟเจฐ เจตเฉ เจเจนเจจเจพเจ เจจเฉ เจจเจตเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉเจเจ เจนเจจ เจเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเฉ เจธเจฟเจงเจพเจเจคเจพเจ เจจเฉเฉฐ เจธเจฎเจเจฃ เจฒเจ เจเจผเจฐเฉเจฐเฉ เจจเจนเฉเจ เจนเจจเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจฎเจพเฉเฉ เจขเฉฐเจ เจจเจพเจฒ เจกเจฟเจเจผเจพเจเจจ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจจ เจ เจคเฉ เจเฉเจก เจจเฉเฉฐ เจเจฒเจเจพเจเจเจฆเฉเจเจ เจนเจจเฅค เจชเจพเจฒ เจตเจฟเจเจธเฉ เจฆเฉเจเจฐเจพ เจฎเฉเจฒ เจเฉเจฐเฉเจจ เจธเฉเจฐเจธ เจเฉเจก เจจเฉเฉฐ เจชเฉเฉเจน เจเฉ เจเฉเจธเจผเฉ เจนเฉเจเฅค
เจเจธ เจฒเจ, เจฎเฉเจ เจตเจฟเจเจพเจธ เจฆเฉเจเจ เจฆเฉเจตเจพเจ เจธเจผเจพเจเจพเจตเจพเจ เจฒเจ เจธเจพเจเจเฉ เจเฉเจฐเฉเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเฉ เจเจฆเจพเจนเจฐเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจฐเฉเจจ เจกเจฟเจตเจพเจเจธ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ - Vixie cron 3.0pl1. เจฎเฉเจ ifdefs เจจเฉเฉฐ เจนเจเจพ เจเฉ เจเจฆเจพเจนเจฐเจจเจพเจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจตเจพเจเจเจพ เจเฉ เจชเฉเฉเจนเจจ เจจเฉเฉฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเจจ เจ เจคเฉ เจฎเจพเจฎเฉเจฒเฉ เจตเฉเจฐเจตเจฟเจเจ เจจเฉเฉฐ เจเฉฑเจก เจฆเจฟเฉฐเจฆเฉ เจนเจจเฅค
เจญเฉเจค เจฆเฉ เจเฉฐเจฎ เจจเฉเฉฐ เจเจ เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
- เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเฉ เจธเจผเฉเจฐเฉเจเจคเฅค
- เจเจฒเจพเจเจฃ เจฒเจ เจเจพเจฐเจเจพเจ เจฆเฉ เจธเฉเจเฉ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจ เจคเฉ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพเฅค
- เจฎเฉเฉฑเจ เจเจฐเฉเจจ เจฒเฉเจช เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉเฅค
- เจเฉฑเจ เจเฉฐเจฎ เจธเจผเฉเจฐเฉ เจเจฐเฉเฅค
เจเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจตเฉเจเฉเจ.
เจเจฐเฉฐเจญเจเจฐเจฃ
เจเจฆเฉเจ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจเฉเจฎเฉเจเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจเฉเจฐเฉเจจ SIGCHLD เจ เจคเฉ SIGHUP เจธเจฟเจเจจเจฒ เจนเฉเจเจกเจฒเจฐ เจธเจฅเจพเจชเจค เจเจฐเจฆเจพ เจนเฉเฅค เจชเจนเจฟเจฒเจพ เจเฉฑเจ เจเจพเจเจฒเจก เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจธเจฎเจพเจชเจคเฉ เจฌเจพเจฐเฉ เจเฉฑเจ เจฒเฉเจ เจเจเจเจฐเฉ เจเจฐเจฆเจพ เจนเฉ, เจฆเฉเจเจพ เจฒเฉเจ เจซเจพเจเจฒ เจฆเฉ เจซเจพเจเจฒ เจกเจฟเจธเจเฉเจฐเจฟเจชเจเจฐ เจจเฉเฉฐ เจฌเฉฐเจฆ เจเจฐเจฆเจพ เจนเฉ:
signal(SIGCHLD, sigchld_handler);
signal(SIGHUP, sighup_handler);
เจเฉเจฐเฉเจจ เจกเฉเจฎเจจ เจนเจฎเฉเจธเจผเจพ เจธเจฟเจธเจเจฎ 'เจคเฉ เจเจเฉฑเจฒเจพ เจนเฉ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจธเจฟเจฐเจซเจผ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจตเจเฉเจ เจ เจคเฉ เจฎเฉเฉฑเจ เจเฉเจฐเฉเจจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉเจเฅค เจนเฉเจ เจฒเจฟเจเฉเจเจ เจเจพเจฒเจพเจ เจกเฉเจฎเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ PID เจจเจพเจฒ เจเฉฑเจ เจฒเจพเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจเจฆเฉเจเจ เจนเจจ, เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจเจชเจญเฉเจเจคเจพ เจธเจนเฉ เจนเฉ เจ เจคเฉ เจฎเฉเจเฉเจฆเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจฎเฉเฉฑเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเฉ:
acquire_daemonlock(0);
set_cron_uid();
set_cron_cwd();
เจกเจฟเจซเฉเจฒเจ เจฎเจพเจฐเจ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจตเฉเจฒเฉ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพ:
setenv("PATH", _PATH_DEFPATH, 1);
เจซเจฟเจฐ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ "เจกเฉเจฎเฉเจจเจพเจเจเจผเจก" เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ: เจเจน เจซเฉเจฐเจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจเฉฑเจ เจเจพเจเจฒเจก เจเจพเจชเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจ เจคเฉ เจฌเจพเจฒ เจชเฉเจฐเจเจฟเจฐเจฟเจ (เจธเฉเจเจธเจฟเจก เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจเจพ) เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเจพเจ เจธเฉเจธเจผเจจ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค เจชเฉเจฐเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจนเฉเจฃ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจ เจคเฉ เจเจน เจฌเฉฐเจฆ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ:
switch (fork()) {
case -1:
/* ะบัะธัะธัะตัะบะฐั ะพัะธะฑะบะฐ ะธ ะทะฐะฒะตััะตะฝะธะต ัะฐะฑะพัั */
exit(0);
break;
case 0:
/* ะดะพัะตัะฝะธะน ะฟัะพัะตัั */
(void) setsid();
break;
default:
/* ัะพะดะธัะตะปััะบะธะน ะฟัะพัะตัั ะทะฐะฒะตััะฐะตั ัะฐะฑะพัั */
_exit(0);
}
เจชเฉเจฐเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจธเจฎเจพเจชเจคเฉ เจฒเจพเจ เจซเจพเจเจฒ 'เจคเฉ เจฒเจพเจ เจจเฉเฉฐ เจเจพเจฐเฉ เจเจฐเจฆเฉ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจฌเฉฑเจเฉ เจจเฉเฉฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจชเฉเจเจเจกเฉ เจจเฉเฉฐ เจ เจชเจกเฉเจ เจเจฐเจจเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉเฅค เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจพเจธเจ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจญเจฐเจฟเจ เจเจพเจเจฆเจพ เจนเฉ:
/* ะฟะพะฒัะพัะฝัะน ะทะฐั
ะฒะฐั ะปะพะบะฐ */
acquire_daemonlock(0);
/* ะะฐะฟะพะปะฝะตะฝะธะต ะะ */
database.head = NULL;
database.tail = NULL;
database.mtime = (time_t) 0;
load_database(&database);
เจซเจฟเจฐ เจเฉเจฐเฉเจจ เจฎเฉเฉฑเจ เจเฉฐเจฎ เจฆเฉ เจเฉฑเจเจฐ เจตเฉฑเจฒ เจตเจงเจฆเจพ เจนเฉเฅค เจชเจฐ เจเจธ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจเจพเจฐเจ เจธเฉเจเฉ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจจ 'เจคเฉ เจเฉฑเจ เจจเจเจผเจฐ เจฎเจพเจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจนเฉ.
เจเจพเจฐเจ เจธเฉเจเฉ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจ เจคเฉ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพ
load_database เจซเฉฐเจเจธเจผเจจ เจเจพเจฐเจเจพเจ เจฆเฉ เจธเฉเจเฉ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฅค เจเจน เจฎเฉเฉฑเจ เจธเจฟเจธเจเจฎ เจเฉเจฐเฉเจจเจเฉเจฌ เจ เจคเฉ เจเจชเจญเฉเจเจคเจพ เจซเจพเจเจฒเจพเจ เจจเจพเจฒ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจซเจพเจเจฒเจพเจ เจ เจคเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเจนเฉเจ เจฌเจฆเจฒเฉเจเจ เจนเจจ, เจคเจพเจ เจเจพเจฐเจ เจธเฉเจเฉ เจฎเฉเฉ-เจชเฉเฉเจนเฉ เจจเจนเฉเจ เจเจพเจเจฆเฉเฅค เจจเจนเฉเจ เจคเจพเจ, เจเจพเจฐเจเจพเจ เจฆเฉ เจเฉฑเจ เจจเจตเฉเจ เจธเฉเจเฉ เจฌเจฃเจจเจพ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ.
เจตเจฟเจธเจผเฉเจธเจผ เจซเจพเจเจฒ เจ เจคเฉ เจเฉเจฌเจฒ เจจเจพเจฎเจพเจ เจจเจพเจฒ เจเฉฑเจ เจธเจฟเจธเจเจฎ เจซเจพเจเจฒ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจจเจพ:
/* ะตัะปะธ ัะฐะนะป ัะธััะตะผะฝะพะน ัะฐะฑะปะธัั ะธะทะผะตะฝะธะปัั, ะฟะตัะตัะธััะฒะฐะตะผ */
if (syscron_stat.st_mtime) {
process_crontab("root", "*system*",
SYSCRONTAB, &syscron_stat,
&new_db, old_db);
}
เจเฉฑเจ เจฒเฉเจช เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจเฉเจฌเจฒ เจจเฉเฉฐ เจฒเฉเจก เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ:
while (NULL != (dp = readdir(dir))) {
char fname[MAXNAMLEN+1],
tabname[MAXNAMLEN+1];
/* ัะธัะฐัั ัะฐะนะปั ั ัะพัะบะพะน ะฝะต ะฝะฐะดะพ*/
if (dp->d_name[0] == '.')
continue;
(void) strcpy(fname, dp->d_name);
sprintf(tabname, CRON_TAB(fname));
process_crontab(fname, fname, tabname,
&statbuf, &new_db, old_db);
}
เจเจฟเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจชเฉเจฐเจพเจฃเฉ เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจจเจตเฉเจ เจจเจพเจฒ เจฌเจฆเจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจชเจฐเฉเจเจค เจเจฆเจพเจนเจฐเจจเจพเจ เจตเจฟเฉฑเจ, process_crontab เจซเฉฐเจเจธเจผเจจ เจเจพเจฒ เจชเฉเจธเจผเจเฉ เจเจฐเจฆเฉ เจนเฉ เจเจฟ เจเฉเจฌเจฒ เจซเจพเจเจฒ เจจเจพเจฎ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฎเฉเจเฉเจฆ เจนเฉ (เจเจฆเฉเจ เจคเฉฑเจ เจเจฟ เจเจน เจเฉฑเจ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจจเจนเฉเจ เจนเฉ) เจ เจคเฉ เจซเจฟเจฐ load_user เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจฆเจพ เจนเฉเฅค เจฌเจพเจ เจฆ เจตเจพเจฒเจพ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจซเจพเจเจฒ เจจเฉเฉฐ เจฒเจพเจเจจ เจฆเฉเจเจฐเจพ เจฒเจพเจเจจ เจชเฉเฉเจนเจฆเจพ เจนเฉ:
while ((status = load_env(envstr, file)) >= OK) {
switch (status) {
case ERR:
free_user(u);
u = NULL;
goto done;
case FALSE:
e = load_entry(file, NULL, pw, envp);
if (e) {
e->next = u->crontab;
u->crontab = e;
}
break;
case TRUE:
envp = env_set(envp, envstr);
break;
}
}
เจเฉฑเจฅเฉ, load_env / env_set เจซเฉฐเจเจธเจผเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจพเจ เจคเจพเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ (เจฐเฉเจช VAR=เจฎเฉเฉฑเจฒ เจฆเฉเจเจ เจฒเจพเจเจจเจพเจ) เจเจพเจ load_entry เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจพเจธเจ เจตเฉเจฐเจตเจพ เจชเฉเฉเจนเจฟเจ เจเจพเจเจฆเจพ เจนเฉ (* * * * * /path/to/exec)เฅค
เจฒเฉเจก_เจเจเจเจฐเฉ เจฐเจฟเจเจฐเจจ เจเจฐเจจ เจตเจพเจฒเฉ เจเจเจเจฐเฉ เจเจเจพเจ เจธเจพเจกเจพ เจเฉฐเจฎ เจนเฉ, เจเจฟเจธ เจจเฉเฉฐ เจเจพเจฐเจเจพเจ เจฆเฉ เจเจฎ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉเฅค เจซเฉฐเจเจธเจผเจจ เจเฉเจฆ เจธเจฎเฉเจ เจฆเฉ เจซเจพเจฐเจฎเฉเจ เจฆเฉ เจเฉฑเจ เจตเจฐเจฌเฉเจเจผ เจชเจพเจฐเจธเจฟเฉฐเจ เจเจฐเจฆเจพ เจนเฉ, เจชเจฐ เจ เจธเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจ เจคเฉ เจเจพเจธเจ เจฒเจพเจเจ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจฆเฉ เจเจ เจจ เจตเจฟเฉฑเจ เจตเจงเฉเจฐเฉ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฆเฉ เจนเจพเจ:
/* ะฟะพะปัะทะพะฒะฐัะตะปั ะธ ะณััะฟะฟะฐ ะดะปั ะทะฐะฟััะบะฐ ะทะฐะดะฐัะธ ะฑะตััััั ะธะท passwd*/
e->uid = pw->pw_uid;
e->gid = pw->pw_gid;
/* ัะตะปะป ะฟะพ ัะผะพะปัะฐะฝะธั (/bin/sh), ะตัะปะธ ะฟะพะปัะทะพะฒะฐัะตะปั ะฝะต ัะบะฐะทะฐะป ะดััะณะพะต */
e->envp = env_copy(envp);
if (!env_get("SHELL", e->envp)) {
sprintf(envstr, "SHELL=%s", _PATH_BSHELL);
e->envp = env_set(e->envp, envstr);
}
/* ะดะพะผะฐัะฝัั ะดะธัะตะบัะพัะธั */
if (!env_get("HOME", e->envp)) {
sprintf(envstr, "HOME=%s", pw->pw_dir);
e->envp = env_set(e->envp, envstr);
}
/* ะฟััั ะดะปั ะฟะพะธัะบะฐ ะฟัะพะณัะฐะผะผ */
if (!env_get("PATH", e->envp)) {
sprintf(envstr, "PATH=%s", _PATH_DEFPATH);
e->envp = env_set(e->envp, envstr);
}
/* ะธะผั ะฟะพะปัะทะพะฒัะตะปั ะฒัะตะณะดะฐ ะธะท passwd */
sprintf(envstr, "%s=%s", "LOGNAME", pw->pw_name);
e->envp = env_set(e->envp, envstr);
เจฎเฉเฉฑเจ เจฒเฉเจช เจเจพเจฐเจเจพเจ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจธเฉเจเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค
เจฎเฉเฉฑเจ เจฒเฉเจช
เจธเฉฐเจธเจเจฐเจฃ 7 เจฏเฉเจจเจฟเจเจธ เจคเฉเจ เจ เจธเจฒ เจเฉเจฐเฉเจจ เจจเฉ เจเจพเจซเจผเฉ เจ เจธเจพเจจเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเฉเจคเจพ: เจเจธเจจเฉ เจเฉฑเจ เจฒเฉเจช เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉเฉเจนเจฟเจ, เจฎเฉเจเฉเจฆเจพ เจฎเจฟเฉฐเจ เจฆเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจธเฉเจชเจฐเจฏเฉเจเจผเจฐ เจตเจเฉเจ เจฒเจพเจเจ เจเฉเจคเจพ, เจ เจคเฉ เจ เจเจฒเฉ เจฎเจฟเฉฐเจ เจฆเฉ เจธเจผเฉเจฐเฉเจเจค เจคเฉฑเจ เจธเฉเฉฑเจคเจพ เจฐเจฟเจนเจพเฅค เจชเฉเจฐเจพเจฃเฉเจเจ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเจธ เจธเจงเจพเจฐเจจ เจชเจนเฉเฉฐเจ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจธเจฐเฉเจคเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
SysV เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจฟเจเจฒเจชเจฟเจ เจธเฉฐเจธเจเจฐเจฃ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ เจกเฉเจฎเจจ เจเจพเจ เจคเจพเจ เจเจธ เจธเจญ เจคเฉเจ เจจเจเจผเจฆเฉเจเฉ เจฎเจฟเฉฐเจ เจคเฉฑเจ เจธเฉเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฟเจธ เจฒเจ เจเจพเจฐเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจเจพเจ 30 เจฎเจฟเฉฐเจเจพเจ เจฒเจเฅค เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฎเฉเฉ-เจชเฉเฉเจนเจจ เจ เจคเฉ เจเจธ เจฎเฉเจก เจตเจฟเฉฑเจ เจเจพเจฐเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเจฐเฉเจคเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจ เจธเฉ, เจชเจฐ เจเจพเจฐเจเจพเจ เจฆเฉ เจธเฉเจเฉ เจจเฉเฉฐ เจคเฉเจเจผเฉ เจจเจพเจฒ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพ เจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ เจเจฟเจเฅค
Vixie cron เจเฉฑเจ เจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจเจพเจฐเจ เจธเฉเจเฉเจเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจตเจพเจชเจธ เจชเจฐเจคเจฟเจ, เจเฉเจธเจผเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ 80 เจฆเฉ เจฆเจนเจพเจเฉ เจฆเฉ เจ เฉฐเจค เจคเฉฑเจ เจฎเจฟเจเจฐเฉ เจฏเฉเจจเจฟเจเจธ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเจพเจซเจผเฉ เจเจผเจฟเจเจฆเจพ เจธเจฐเฉเจค เจธเจจ:
/* ะฟะตัะฒะธัะฝะฐั ะทะฐะณััะทะบะฐ ะทะฐะดะฐั */
load_database(&database);
/* ะทะฐะฟัััะธัั ะทะฐะดะฐัะธ, ะฟะพััะฐะฒะปะตะฝะฝัะต ะบ ะฒัะฟะพะปะฝะตะฝะธั ะฟะพัะปะต ะฟะตัะตะทะฐะณััะทะบะธ ัะธััะตะผั */
run_reboot_jobs(&database);
/* ัะดะตะปะฐัั TargetTime ะฝะฐัะฐะปะพะผ ะฑะปะธะถะฐะนัะตะน ะผะธะฝััั */
cron_sync();
while (TRUE) {
/* ะฒัะฟะพะปะฝะธัั ะทะฐะดะฐัะธ, ะฟะพัะปะต ัะตะณะพ ัะฟะฐัั ะดะพ TargetTime ั ะฟะพะฟัะฐะฒะบะพะน ะฝะฐ ะฒัะตะผั, ะฟะพััะฐัะตะฝะฝะพะต ะฝะฐ ะทะฐะดะฐัะธ */
cron_sleep();
/* ะฟะตัะตัะธัะฐัั ะบะพะฝัะธะณััะฐัะธั */
load_database(&database);
/* ัะพะฑัะฐัั ะทะฐะดะฐัะธ ะดะปั ะดะฐะฝะฝะพะน ะผะธะฝััั */
cron_tick(&database);
/* ะฟะตัะตะฒะตััะธ TargetTime ะฝะฐ ะฝะฐัะฐะปะพ ัะปะตะดัััะตะน ะผะธะฝััั */
TargetTime += 60;
}
cron_sleep เจซเฉฐเจเจธเจผเจจ เจธเจฟเฉฑเจงเฉ เจคเฉเจฐ 'เจคเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉ, job_runqueue (เจ เฉฐเจเจฃ เจเจฐเฉ เจ เจคเฉ เจเจพเจฐเจ เจเจฒเจพเจ) เจ เจคเฉ do_command (เจนเจฐเฉเจ เจตเจฟเจ เจเจคเฉเจเจค เจเฉฐเจฎ เจจเฉเฉฐ เจเจฒเจพเจ) เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจเจพเฅค เจเจเจฐเฉ เจซเฉฐเจเจธเจผเจจ เจนเฉเจฐ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจเจพเจเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเฅค
เจเฉเจ เจเฉฐเจฎ เจเจฒเจพ เจฐเจฟเจนเจพ เจนเฉ
do_command เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจตเจงเฉเจ เจฏเฉเจจเจฟเจเจธ เจธเจผเฉเจฒเฉ เจตเจฟเฉฑเจ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ, เจฏเจพเจจเฉ, เจเจน เจ เจธเจฟเฉฐเจเจฐเฉเจจเจธ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจซเฉเจฐเจ เจเจฐเจฆเจพ เจนเฉเฅค เจฎเจพเจคเจพ-เจชเจฟเจคเจพ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเฉ เจนเฉ, เจฌเจพเจฒ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจพเจฐเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเฉ:
switch (fork()) {
case -1:
/*ะฝะต ัะผะพะณะปะธ ะฒัะฟะพะปะฝะธัั fork */
break;
case 0:
/* ะดะพัะตัะฝะธะน ะฟัะพัะตัั: ะฝะฐ ะฒััะบะธะน ัะปััะฐะน ะตัะต ัะฐะท ะฟัะพะฑัะตะผ ะทะฐั
ะฒะฐัะธัั ะณะปะฐะฒะฝัะน ะปะพะบ */
acquire_daemonlock(1);
/* ะฟะตัะตั
ะพะดะธะผ ะบ ัะพัะผะธัะพะฒะฐะฝะธั ะฟัะพัะตััะฐ ะทะฐะดะฐัะธ */
child_process(e, u);
/* ะฟะพ ะทะฐะฒะตััะตะฝะธั ะดะพัะตัะฝะธะน ะฟัะพัะตัั ะทะฐะบะฐะฝัะธะฒะฐะตั ัะฐะฑะพัั */
_exit(OK_EXIT);
break;
default:
/* ัะพะดะธัะตะปััะบะธะน ะฟัะพัะตัั ะฟัะพะดะพะปะถะฐะตั ัะฐะฑะพัั */
break;
}
เจเจพเจเจฒเจก_เจชเฉเจฐเฉเจธเฉเจธ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจคเจฐเจ เจนเจจ: เจเจน เจธเจเฉเจเจกเจฐเจก เจเจเจเจชเฉเฉฑเจ เจ เจคเฉ เจเจฒเจคเฉ เจธเจเฉเจฐเฉเจฎ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจตเจฟเฉฑเจ เจฒเฉเจเจฆเจพ เจนเฉ, เจซเจฟเจฐ เจเจธเจจเฉเฉฐ เจฎเฉเจฒ เจตเจฟเฉฑเจ เจญเฉเจเจฃ เจฒเจ (เจเฉ MAILTO เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจเจพเจธเจ เจเฉเจฌเจฒ เจตเจฟเฉฑเจ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจนเฉ), เจ เจคเฉ เจ เฉฐเจค เจตเจฟเฉฑเจ, เจฎเฉเฉฑเจ เจฆเฉ เจเจกเฉเจ เจเจฐเจฆเจพ เจนเฉ เจเฉฐเจฎ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจฒเจ.
เจเจพเจฐเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเฉฑเจ เจนเฉเจฐ เจซเฉเจฐเจ เจฆเฉเจเจฐเจพ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ:
switch (vfork()) {
case -1:
/* ะฟัะธ ะพัะธะฑะบะธ ััะฐะทั ะทะฐะฒะตััะฐะตััั ัะฐะฑะพัะฐ */
exit(ERROR_EXIT);
case 0:
/* ะฟัะพัะตัั-ะฒะฝัะบ ัะพัะผะธััะตั ะฝะพะฒัั ัะตััะธั, ัะตัะผะธะฝะฐะป ะธ ั.ะด.
*/
(void) setsid();
/*
* ะดะฐะปััะต ะผะฝะพะณะพัะปะพะฒะฝะฐั ะฝะฐัััะพะนะบะฐ ะฒัะฒะพะดะฐ ะฟัะพัะตััะฐ, ะพะฟัััะธะผ ะดะปั ะบัะฐัะบะพััะธ
*/
/* ัะผะตะฝะฐ ะดะธัะตะบัะพัะธะธ, ะฟะพะปัะทะพะฒะฐัะตะปั ะธ ะณััะฟะฟั ะฟะพะปัะทะพะฒะฐัะตะปั,
* ัะพ ะตััั ะฟัะพัะตัั ะฑะพะปััะต ะฝะต ััะฟะตัะฟะพะปัะทะพะฒะฐัะตะปััะบะธะน
*/
setgid(e->gid);
setuid(e->uid);
chdir(env_get("HOME", e->envp));
/* ะทะฐะฟััะบ ัะฐะผะพะน ะบะพะผะฐะฝะดั
*/
{
/* ะฟะตัะตะผะตะฝะฝะฐั ะพะบััะถะตะฝะธั SHELL ัะบะฐะทัะฒะฐะตั ะฝะฐ ะธะฝัะตัะฟัะตัะฐัะพั ะดะปั ะทะฐะฟััะบะฐ */
char *shell = env_get("SHELL", e->envp);
/* ะฟัะพัะตัั ะทะฐะฟััะบะฐะตััั ะฑะตะท ะฟะตัะตะดะฐัะธ ะพะบััะถะตะฝะธั ัะพะดะธัะตะปััะบะพะณะพ ะฟัะพัะตััะฐ,
* ัะพ ะตััั ะธะผะตะฝะฝะพ ัะฐะบ, ะบะฐะบ ะพะฟะธัะฐะฝะพ ะฒ ัะฐะฑะปะธัะต ะทะฐะดะฐั ะฟะพะปัะทะพะฒะฐัะตะปั */
execle(shell, shell, "-c", e->cmd, (char *)0, e->envp);
/* ะพัะธะฑะบะฐ โ ะธ ะฟัะพัะตัั ะฝะฐ ะทะฐะฟัััะธะปัั? ะทะฐะฒะตััะตะฝะธะต ัะฐะฑะพัั */
perror("execl");
_exit(ERROR_EXIT);
}
break;
default:
/* ัะฐะผ ะฟัะพัะตัั ะฟัะพะดะพะปะถะฐะตั ัะฐะฑะพัั: ะถะดะตั ะทะฐะฒะตััะตะฝะธั ัะฐะฑะพัั ะธ ะฒัะฒะพะดะฐ */
break;
}
เจเฉ เจเจฟ เจ เจธเจฒ เจตเจฟเฉฑเจ เจธเจญ cron เจนเฉ. เจฎเฉเจ เจเฉเจ เจฆเจฟเจฒเจเจธเจช เจตเฉเจฐเจตเจฟเจเจ เจจเฉเฉฐ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฐเจฟเจฎเฉเจ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฒเจ เจฒเฉเจเจพ, เจชเจฐ เจฎเฉเจ เจฎเฉเฉฑเจ เจเฉเจเจผ เจฆเฉ เจฐเฉเจชเจฐเฉเจเจพ เจฆเจฟเฉฑเจคเฉ.
เจฌเจพเจ เจฆ
เจเจฐเฉเจจ เจเฉฑเจ เจนเฉเจฐเจพเจจเฉเจเจจเจ เจคเฉเจฐ 'เจคเฉ เจธเจงเจพเจฐเจจ เจ เจคเฉ เจเจชเจฏเฉเจเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจนเฉ, เจเฉ เจฏเฉเจจเจฟเจเจธ เจธเฉฐเจธเจพเจฐ เจฆเฉเจเจ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจชเจฐเฉฐเจชเจฐเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉเฅค เจเจน เจเฉเจ เจตเจพเจงเฉ เจจเจนเฉเจ เจเจฐเจฆเฉ, เจชเจฐ เจเจน เจเจ เจฆเจนเจพเจเจฟเจเจ เจคเฉเจ เจเจชเจฃเจพ เจเฉฐเจฎ เจธเจผเจพเจจเจฆเจพเจฐ เจขเฉฐเจ เจจเจพเจฒ เจเจฐ เจฐเจนเฉ เจนเฉเฅค เจเจฌเฉฐเจเฉ เจฆเฉ เจจเจพเจฒ เจเจเจฃ เจตเจพเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจเฉเจก เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฐเจเฉ เจคเฉเจ เจตเฉฑเจง เจธเจฎเจพเจ เจจเจนเฉเจ เจฒเฉฑเจเจพ, เจ เจคเฉ เจฎเฉเจจเฉเฉฐ เจฌเจนเฉเจค เจฎเจเจผเจพ เจเจเจ! เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจฎเฉเจ เจเจธเจจเฉเฉฐ เจคเฉเจนเจพเจกเฉ เจจเจพเจฒ เจธเจพเจเจเจพ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจธเฉเฅค
เจฎเฉเจ เจคเฉเจนเจพเจกเฉ เจฌเจพเจฐเฉ เจจเจนเฉเจ เจเจพเจฃเจฆเจพ, เจชเจฐ เจฎเฉเจจเฉเฉฐ เจเจน เจธเจฎเจ เจเฉ เจฅเฉเฉเจพ เจเจฆเจพเจธ เจนเฉ เจเจฟ เจเจงเฉเจจเจฟเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ, เจเจธเจฆเฉ เจเจผเจฟเจเจฆเจพ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจ เจคเฉ เจเจผเจฟเจเจฆเจพ-เจธเจพเจฐเจคเจพ เจฆเฉ เจชเฉเจฐเจตเจฟเจฐเจคเฉ เจฆเฉ เจจเจพเจฒ, เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจคเฉเจ เจ เจเจฟเจนเฉ เจธเจพเจฆเจเฉ เจฒเจ เจ เจจเฉเจเฉเจฒ เจจเจนเฉเจ เจฐเจนเฉ เจนเฉเฅค
เจเฉเจฐเฉเจจ เจฆเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเจงเฉเจจเจฟเจ เจตเจฟเจเจฒเจช เจนเจจ: เจธเจฟเจธเจเจฎเจก-เจเจพเจเจฎเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจจเจพเจฒ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจธเจฟเจธเจเจฎเจพเจ เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเฉ เจนเจจ, fcron เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจฐเจเจพเจ เจฆเฉเจเจฐเจพ เจธเจฐเฉเจค เจฆเฉ เจเจชเจค เจจเฉเฉฐ เจตเจงเฉเจฐเฉ เจฒเจเจเจฆเจพเจฐ เจขเฉฐเจ เจจเจพเจฒ เจจเจฟเจฏเฉฐเจคเฉเจฐเจฟเจค เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจชเจฐ เจจเจฟเฉฑเจเฉ เจคเฉเจฐ 'เจคเฉ, เจธเจญ เจคเฉเจ เจธเจงเจพเจฐเจจ เจเฉเจฐเฉเจจเจเฉเจฌ เจนเจฎเฉเจธเจผเจพ เจฎเฉเจฐเฉ เจฒเจ เจเจพเจซเฉ เจธเฉ.
เจธเฉฐเจเฉเจช เจตเจฟเฉฑเจ, เจฏเฉเจจเจฟเจเจธ เจจเฉเฉฐ เจชเจฟเจเจฐ เจเจฐเฉ, เจธเจงเจพเจฐเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ เจ เจคเฉ เจเจชเจฃเฉ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฒเจ เจฎเจจ เจจเฉเฉฐ เจชเฉเฉเจนเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ!
เจธเจฐเฉเจค: www.habr.com