����w���A���@�A��s�峹�аѦ��o��

�DzߤF��¦�g�]�@�}�l�F�A�A�|�o�{�쬰����t�α`�`�|�D�ʪ��i��@�ǥ��ȡH�o�ǥ��Ȩ쩳�O�֦b�]�w�u�@���H �p�G�A�Q�n���ۤv�]�p���ƥ��{���i�H�۰ʪ��b�t�Ω��U����A�Ӥ��ݭn��ʨӱҰʥL�A�S�Ӧp��B�m�H �o�ǨҦ檺�u�@�i��S�����y��@�z�u�@�P�y�`���z�u�@�A�b�t�Τ��S�O���ǪA�Ȧb�t�d�H �٦��٦��A�p�G�A�Q�n�C�~�b�ѱC���ͤ�e�@�ѴN�o�X�@�ʫH�󴣿��ۤv���n�ѰO�A�i�H�쪺��ܡH �K�K�I�o�Ǻغحn�p��B�z�A�N�ݬݳo�@�����I

1. ����O�Ҧ�ʤu�@�Ƶ{
�@�@1.1 Linux �u�@�Ƶ{�������G at, crontab
�@�@1.2 Linux �W�`�����Ҧ�ʤu�@
2. �Ȱ���@�����u�@�Ƶ{
�@�@2.1 atd ���ҰʻP at �B�@���覡�G /etc/at.deny
�@�@2.2 ��ڹB�@��@�u�@�Ƶ{�G at, atq & atrm, batch
3. �`�����檺�Ҧ�ʤu�@�Ƶ{
�@�@3.1 �ϥΪ̪��]�w�G /etc/cron.deny, crontab
�@�@3.2 �t���]�w���G /etc/crontab
�@�@3.3 �@�Ǫ`�N�ƶ�
4. �i��������������u�@����
�@�@4.1 ����O anacron
�@�@4.2 anacron �P /etc/anacrontab
5. ���I�^�U
6. �������D
7. �w�糧�媺��ij�Ghttp://phorum.vbird.org/viewtopic.php?t=23889

����O�Ҧ�ʤu�@�Ƶ{

�C�ӤH�Φh�Τֳ����@�Ǭ��|�Ϊ̬O�u�@�A�����u�@�O�Ҧ�ʪ��A �Ҧp�C�~�@�����[�~�B�C�Ӥ�@�����u�@���i�B�C�g�@�������\�|���B�C�ѻݭn�����d�����F �����u�@�h�O�{�ɵo�ͪ��A�Ҧp��n�`���q�����x�ӳX�A�ݭn�A�dzƺt�����������I �Φb�ͬ��W���A�Ҧp�C�~���R�H���ͤ�B�C�Ѫ��_�ɮɶ������B�٦���o�ʪ��q���j���� (�ڡI�u�Ʊ�Ѥѳ����I) �����o�C

���W���o�ǨҦ�ʤu�@�A�q�`�A�o�n�O���b��ƾ�W���~���קK�ѰO�I���L�A�ѩ�ڭ̱`�`�b�q���e�����t�G�A �p�G�q���t�ί���D�ʪ��q���ڭ̪��ܡA���򤣴N���P�h�F�I�K�K�I�o�Ӯɭ� Linux ���Ҧ�ʤu�@�Ƶ{�N�i�H���W���F�I �b���Ҽ{�w��P�ڭ̦��A�����s�����A�U�A�ڭ̪� Linux �i�H���A�����ܦh���ȡA�Ҧp�G�C�@�Ѧ��W 8:00 ���n���A���s���W���T�A�ñҰʭ��֨ӳ�A�_�ɡF�Ӥ��� 12:00 �Ʊ� Linux �i�H�o�@�ʫH��A���l��H�c�A�����A�i�H�h�Y���\�F�F �t�~�A�b�C�~���A�R�H�ͤ骺�e�@�ѡA���o�ʫH�����A�A�H�K�ѰO�o�򭫭n���@�ѡC

���� Linux ���Ҧ�ʤu�@�O�p��i��Ƶ{���O�H�ҿת��Ƶ{�N�O�N�o�Ǥu�@�w�ư��檺�y�{���N�I ���̪� Linux �Ƶ{�N�O�z�L crontab �P at �o��ӪF��I�o��Ӫ��N�঳ԣ���P�H�N���ڭ̨��@�@���I


Linux �u�@�Ƶ{�������G at, cron

�q�W�������������A�ڭ̥i�H�ܲM�����o�{��ؤu�@�Ƶ{���覡�G

����b Linux ���U�p��F��o��ӥ\��O�H���N�o�ϥ� at �P crontab �o��Ӧn�F���o�I

���U�ڭ̥��ӽͤ@�� Linux ���t�Ψ쩳�b������Ʊ��A��򦳭Y�z�h���u�@�Ƶ{�b�i��O�H�M��A�^�ӽͤ@�� at �P crontab �o��Ӧn�F��I


Linux �W�`�����Ҧ�ʤu�@

�p�G�A���g�ϥιL Linux �@�}�l�F�A����A�j���|�o�{�� Linux �|�D�ʪ����ڭ̶i��@�Ǥu�@�O�I ��軡�۰ʪ��i��u�W��s (on-line update)�B�۰ʪ��i�� updatedb (�ĤC���ͨ쪺 locate ���O) ��s�ɦW��Ʈw�B�۰ʪ��@�n���ɤ��R (�ҥH root �`�`�|������D�� logwatch ���H��) �����C�o�O�ѩ�t�έn���`�B�@���ܡA �Y�Ǧb�I�����U���u�@�����n�w�ɶi�檺�t�G�C�򥻤W Linux �t�α`�����Ҧ�ʥ��Ȧ��G

���A���t�η|�i�檺�Ҧ�ʤu�@�P�A�w�˪��n��h�観���A�p�G�A�w�˹L�h���n��A�Y�ǪA�ȥ\�઺�n�鳣�|���W���R�u��A ����A���t�δN�|�h�X�@�ǨҦ�ʤu�@�o�I���������D���٦h�[�F�ܦh�ۤv���g�����R�u��A�H�Ψ�L�ĤT���O�n�骺���R�n��A �K�K�I�ͪ� Linux �u�@�q�i�O�D�`�j�����I�]�����o��h���u�@�ݭn�i��A�ҥH�ڭ̷��M�o�n�A�ѨҦ�ʤu�@���B�z�覡�o�I


�Ȱ���@�����u�@�Ƶ{

�����A�ڭ̥��ӽͽͳ�@�u�@�Ƶ{���B�@�A���N�O at �o�ӫ��O���B�@�I


atd ���ҰʻP at �B�@���覡

�n�ϥγ�@�u�@�Ƶ{�ɡA�ڭ̪� Linux �t�ΤW�������n���t�d�o�ӱƵ{���A�ȡA���N�O atd �o�Ӫ��N��C ���L�ëD�Ҧ��� Linux distributions ���w�]�|��L���}���A�ҥH�O�A�Y�Ǯɨ�ڭ̥����n��ʱN�L�ҥΤ~��C �ҥΪ���k��²��A�N�O�o�ˡG

[root@www ~]# /etc/init.d/atd restart
���b���� atd:                          [  �T�w  ]
���b�Ұ� atd:                          [  �T�w  ]

# �A�]�w�@�U�}���ɴN�Ұʳo�ӪA�ȡA�K�o�C�����s�}�����o�A�Ӥ@���I
[root@www ~]# chkconfig atd on

���I�O���ӡy���b�Ұ�(�� starting)�z���ت� OK �աI�����ܱҰʬO���`���I�o�����ڭ̦b�ĤQ�K���|�ͤΡC �p�G�z�u��������A����i�H�ۦ�� /etc/init.d/atd �o�� shell script ���h�@�@�@���I ^_^�C �ܩ󨺭� chkconfig �A�A�]�i�H�ϥ� man ���d�\�@�U�ڡI�ڭ��ĤQ�K���A���аաI


�J�M�O�u�@�Ƶ{�A�������ӷ|�����ͤu�@���覡�A�åB�N�o�Ǥu�@�ƶi��{�����o�IOK�I���򲣥ͤu�@���覡�O���i�檺�H �ƹ�W�A�ڭ̨ϥ� at �o�ӫ��O�Ӳ��ͩҭn�B�@���u�@�A�ñN�o�Ӥu�@�H��r�ɪ��覡�g�J /var/spool/at/ �ؿ����A�Ӥu�@�K�൥�� atd �o�ӪA�Ȫ����λP����F�C�N�o��²��C

���L�A�ä��O�Ҧ����H���i�H�i�� at �u�@�Ƶ{��I������H�]���w�����z�Ѱڡ� �ܦh�D���Q�ҿת��y�j�[�z��A�̱`�o�{���N�O�L�̪��t�η����h�F�ܦh���ǫȵ{�� (cracker program)�A �o�ǵ{���D�`�i��B�Τu�@�Ƶ{�Ӱ���λ`���t�θ�T�A�éw�ɪ��^�����ǫȹ���I �ҥH�o�A���D�O�A�{�i���b���A�_�h�����n���L�̨ϥ� at �a�I�����F��ϥ� at ���C�ީO�H

�ڭ̥i�H�Q�� /etc/at.allow �P /etc/at.deny �o����ɮרӶi�� at ���ϥέ���O�I �[�W�o����ɮ׫�A at ���u�@���p���O�o�˪��G

  1. ����M /etc/at.allow �o���ɮסA�g�b�o���ɮפ����ϥΪ̤~��ϥ� at �A�S���b�o���ɮפ����ϥΪ̫h����ϥ� at (�Y�ϨS���g�b at.deny ����)�F

  2. �p�G /etc/at.allow ���s�b�A�N�M�� /etc/at.deny �o���ɮסA�Y�g�b�o�� at.deny ���ϥΪ̫h����ϥ� at �A�ӨS���b�o�� at.deny �ɮפ����ϥΪ̡A�N�i�H�ϥ� at ���F

  3. �p�G����ɮ׳����s�b�A����u�� root �i�H�ϥ� at �o�ӫ��O�C

�z�L�o�ӻ����A�ڭ̪��D /etc/at.allow �O�޲z�����Y�檺�覡�A�� /etc/at.deny �h�����P�� (�]���b���S���b���ɮפ��A�N������� at �F)�C�b�@�몺 distributions �����A�ѩ󰲳]�t�ΤW���Ҧ��Τ᳣�O�i�H�����A �]���t�γq�`�|�O�d�@�ӪŪ� /etc/at.deny �ɮסA�N��O���\�Ҧ��H�ϥ� at ���O���N�� (�z�i�H�ۦ��ˬd�@�U���ɮ�)�C ���L�A�U�@�A���Ʊ榳�Y�ǨϥΪ̨ϥ� at ���ܡA�N���ӨϥΪ̪��b���g�J /etc/at.deny �Y�i�I �@�ӱb���g�@��C


��ڹB�@��@�u�@�Ƶ{

��@�u�@�Ƶ{���i��N�ϥ� at �o�ӫ��O�o�I�o�ӫ��O���B�@�D�`²��I�N at �[�W�@�Ӯɶ��Y�i�I�򥻪��y�k�p�U�G

[root@www ~]# at [-mldv] TIME
[root@www ~]# at -c �u�@���X
�ﶵ�P�ѼơG
-m  �G�� at ���u�@������A�Y�ϨS����X�T���A��H email �q���ϥΪ̸Ӥu�@�w�����C
-l  �Gat -l �۷��� atq�A�C�X�ثe�t�ΤW�����Ҧ��ӨϥΪ̪� at �Ƶ{�F
-d  �Gat -d �۷��� atrm �A�i�H�����@�Ӧb at �Ƶ{�����u�@�F
-v  �G�i�H�ϥθ����㪺�ɶ��榡�C�X at �Ƶ{�����u�@�C���F
-c  �G�i�H�C�X�᭱�����Ӷ��u�@����ګ��O���e�C

TIME�G�ɶ��榡�A�o�̥i�H�w�q�X�y����ɭԭn�i�� at �o���u�@�z���ɶ��A�榡���G
  HH:MM				ex> 04:00
	�b���骺 HH:MM �ɨ�i��A�Y�Ӯɨ�w�W�L�A�h���Ѫ� HH:MM �i�榹�u�@�C
  HH:MM YYYY-MM-DD		ex> 04:00 2009-03-17
	�j��W�w�b�Y�~�Y�몺�Y�@�Ѫ��S���ɨ�i��Ӥu�@�I
  HH:MM[am|pm] [Month] [Date]	ex> 04pm March 17
	�]�O�@�ˡA�j��b�Y�~�Y��Y�骺�Y�ɨ�i��I
  HH:MM[am|pm] + number [minutes|hours|days|weeks]
	ex> now + 5 minutes	ex> 04pm + 3 days
	�N�O���A�b�Y�Ӯɶ��I�y�A�[�X�Ӯɶ���z�~�i��C

�ѹ껡�A�o�� at ���O���U�F�̭��n���a��b��y�ɶ��z�����w�F�I�������w�ϥΡy now + ... �z ���覡�өw�q�{�b�L�h�֮ɶ��A�i��u�@�A�����ɤ]�ݭn�w�q�S�w���ɶ��I�Ӷi��I���U���d�ҥ��ݬ��o�I

�d�Ҥ@�G�A�L��������A�N /root/.bashrc �H�� root �ۤv
[root@www ~]# at now + 5 minutes  <==�O�o���n�[ s ��I
at> /bin/mail root -s "testing at job" < /root/.bashrc
at> <EOT>   <==�o�̿�J [ctrl] + d �N�|�X�{ <EOF> ���r�ˡI�N�������I
job 4 at 2009-03-14 15:38
# �W���o���T�b�����A�� 4 �� at �u�@�N�b 2009/03/14 �� 15:38 �i��I
# �Ӱ��� at �|�i�J�ҿת� at shell ���ҡA���A�U�F�h�����O���ݹB�@�I

�d�ҤG�G�N�W�z���� 4 ���u�@���e�C�X�Ӭd�\
[root@www ~]# at -c 4
#!/bin/sh               <==�N�O�z�L bash shell ���աI
# atrun uid=0 gid=0
# mail     root 0
umask 22
....(�����ٲ��\�h�������ܼƶ���)....
cd /root || {           <==�i�H�ݥX�A�|��U�F at �ɪ��u�@�ؿ��h������O
         echo 'Execution directory inaccessible' >&2
         exit 1
}

/bin/mail root -s "testing at job" < /root/.bashrc
# �A�i�H�ݨ���O���檺�ؿ� (/root)�A�٦��h�������ܼƻP��ڪ����O���e�աI

�d�ҤT�G�ѩ���йw�p�� 2009/03/18 ���q�A�ڷQ�n�b 2009/03/17 23:00 �����H
[root@www ~]# at 23:00 2009-03-17
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 5 at 2009-03-17 23:00
# �z�@�@�I at �٥i�H�b�@�Ӥu�@����J�h�ӫ��O�O�I�����a�I

�ƹ�W�A���ڭ̨ϥ� at �ɷ|�i�J�@�� at shell �����Ҩ����ϥΪ̤U�F�u�@���O�A���ɡA��ij�A�̦n�ϥε�����|�ӤU�F�A�����O�A������|�����D���I�ѩ���O���U�F�P PATH �ܼƦ����A �P�ɻP���ɪ��u�@�ؿ��]�����s (�p�G���o�A���ɮת���)�A�]���ϥε�����|�ӤU�F���O�A�|�O����@�ҥöh����k�C ������O�H�|�Ҩӻ��A�A�b /tmp �U�F�y at now �z�M���J�y mail root -s "test" < .bashrc �z�A �ݤ@�U�A���� .bashrc ���ɮ׷|�O�b���̡H���׬O�y /tmp/.bashrc �z�I�]�� at �b�B�@�ɡA�|�]����ɤU�F at ���O�����Ӥu�@�ؿ����t�G�ڡI

���ǪB�ͷ|�Ʊ�y�ڭn�b�Y�Y�ɨ�A�b�ڪ��׺ݾ���ܥX Hello ���r�ˡz�A�M��N�b at �̭��U�F�o�˪���T�y echo "Hello" �z�C����ɶ���F�A�o�o�{�S������T���b�ù��W��ܡA�o�Oԣ��]�ڡH�o�O�]�� at ������P�׺ݾ����ҵL���A�өҦ� standard output/standard error output ���|�ǰe�����̪� mailbox �h�աI�ҥH�b�׺ݾ����M�ݤ�������T�C�����H�S���Y�A �i�H�z�L�׺ݾ����˸m�ӳB�z�I���p�A�b tty1 �n�J�A�h�i�H�ϥΡy echo "Hello" > /dev/tty1 �z�Ө��N�C

�n�`�N���O�A�p�G�b at shell �������O�èS�����󪺰T����X�A���� at �w�]���|�o email ������̪��C �p�G�A�Q�n�� at �L�צp�󳣵o�@�� email �i���A�O�_����F���O�A����i�H�ϥΡy at -m �ɶ��榡 �z�ӤU�F���O��I at �N�|�ǰe�@�ӰT��������̡A�Ӥ��׸ӫ��O���榳�L�T����X�F�I

at ���t�~�@�ӫܴΪ��u�I�A���N�O�y�I������z���\��F�I����O�I������ڡH�����A�ѶܡH���P bash �� nohup (�ĤQ�C��) �����աI �������ڦۤv���X�ӨҤl�ӵ��zťť�A�z�N�A�F�I

�ѩ� at �u�@�Ƶ{���ϥΤW�A�t�η|�N�Ӷ� at �u�@�W�ߥX�A�� bash ���Ҥ��A �����浹�t�Ϊ� atd �{���ӱ��ޡA�]���A���A�U�F�F at ���u�@����N�i�H�ߨ����u�F�A �ѤU���u�@�N�����浹 Linux �޲z�Y�i�I�ҥH�o�A�p�G�����ɶ��������u�@�ɡA�K�K�I �ϥ� at �i�H���A�K�������_�u�᪺�x�Z��I ^_^


����U�@�ڤU�F�F at ����A�~�o�{���O��J���~�A�Ӧp��O�n�H�N�N�L�����ڡI�Q�� atq �P atrm �a�I

[root@www ~]# atq
[root@www ~]# atrm (jobnumber)

�d�Ҥ@�G�d�ߥثe�D���W�����h�֪� at �u�@�Ƶ{�H
[root@www ~]# atq
5       2009-03-17 23:00 a root
# �W�������O�G�y�b 2009/03/17 �� 23:00 ���@���u�@�A�Ӷ��u�@���O�U�F�̬� 
# root�z�ӥB�A�Ӷ��u�@���u�@���X (jobnumber) �� 5 ����I

�d�ҤG�G�N�W�z���� 5 �Ӥu�@�����I
[root@www ~]# atrm 5
[root@www ~]# atq
# �S�������T�A���ܸӤu�@�Q�����F�I

�p���@�ӡA�A�i�H�Q�� atq �Ӭd�ߡA�Q�� atrm �ӧR�����~�����O�A�Q�� at �Ӫ����U�F��@�u�@�Ƶ{�I��²��a�I ���L�A���Ӱ��D�ݭn�B�z�@�U�C�p�G�A�O�b�@�ӫD�`���L���t�ΤU�B�@ at �A �ण����w�A���u�@�b�t�θ������ɭԤ~�i���O�H�i�H���A���N�ϥ� batch ���O�a�I


��� batch �O�Q�� at �Ӷi����O���U�F�աI�u�O�[�J�@�DZ���ѼƦӤw�C�o�� batch ���_���a��b��G�L�|�b CPU �u�@�t���p�� 0.8 ���ɭԡA�~�i��A�ҤU�F���u�@�����աI ������O�t�� 0.8 �O�H�o�ӭt�����N��O�G CPU �b��@�ɶ��I�ҭt�d���u�@�ƶq�C���O CPU ���ϥβv��I �|�Ҩӻ��A�p�G�ڦ��@���{���L�ݭn�@���ϥ� CPU ���B��\��A���򦹮� CPU ���ϥβv�i���F 100% �A ���O CPU ���u�@�t���h�O�ͪ��y 1 �z�A�]�� CPU �ȭt�d�@�Ӥu�@���I�p�G�P�ɰ���o�˪��{�����O�H CPU ���ϥβv�٬O 100% �A���O�u�@�t���h�ܦ� 2 �F�I�A�ѥG�H

�ҥH�]�N�O���A�� CPU ���u�@�t���V�j�A�N�� CPU �����n�b���P���u�@�����i���W�c���u�@�����C �o�˪� CPU �B�@���p�ڭ̦b�Ĺs�����͹L�A�ѰO���ܽЦ^�h�@�@�I�]���@�������u�@�A�ҥH�|�ɭP�t�Φ��L�ڡI �t�Φp�G�ܦ��L�A�٭n�B�~�i�� at �A���ӦX�z�I�ҥH�~�� batch ���O�����͡I

���� batch �p��U�F���O�O�H��²��ڡI�P at �ۦP�աI�Ҧp�U�����d�ҡG

�d�Ҥ@�G�P�ˬO���а��q�b 2009/3/17 23:00 �����A���Y���ɨt�έt���Ӱ��A�h�Ƚw����
[root@www ~]# batch 23:00 2009-3-17
at> sync
at> sync
at> shutdown -h now
at> <EOT>
job 6 at 2009-03-17 23:00

[root@www ~]# atq
6       2009-03-17 23:00 b root
[root@www ~]# atrm 6

�A�|�o�{��� batch �]�O�ϥ� atq/atrm �Ӻ޲z���I�o���A�ѥG�H


�`�����檺�Ҧ�ʤu�@�Ƶ{

�۹�� at �O�Ȱ���@�����u�@�A�`�����檺�Ҧ�ʤu�@�Ƶ{�h�O�� cron (crond) �o�Өt�ΪA�Ȩӱ���C���͹L Linux �t�ΤW���쥻�N���D�`�h���Ҧ�ʤu�@�A�]���o�Өt�ΪA�ȬO�w�]�Ұʪ��C�t�~�A �ѩ�ϥΪ̦ۤv�]�i�H�i��Ҧ�ʤu�@�Ƶ{�A�ҥH�o�A Linux �]���ѨϥΪ̱���Ҧ�ʤu�@�Ƶ{�����O (crontab)�C ���U�ڭ̤��O�Ӳ�@���o�I


�ϥΪ̪��]�w

�ϥΪ̷Q�n�إߴ`�����u�@�Ƶ{�ɡA�ϥΪ��O crontab �o�ӫ��O�ա㤣�L�A���F�w���ʪ����D�A �P at �P�˪��A�ڭ̥i�H����ϥ� crontab ���ϥΪ̱b����I�ϥΪ������Ʀ��G

�P at �ܹ��a�I�P�˪��A�H�u�����Ǩӻ��A /etc/cron.allow �� /etc/cron.deny �n�u���A �ӧP�_�W���A�o����ɮץu��ܤ@�Өӭ���Ӥw�A�]���A��ij�A�u�n�O�d�@�ӧY�i�A �K�o�v�T�ۤv�b�]�w�W�����P�_�I�@��ӻ��A�t�ιw�]�O�O�d /etc/cron.deny �A �A�i�H�N���Q���L���� crontab �����ӨϥΪ̼g�J /etc/cron.deny �����A�@�ӱb���@��I

���ϥΪ̨ϥ� crontab �o�ӫ��O�ӫإߤu�@�Ƶ{����A�Ӷ��u�@�N�|�Q������ /var/spool/cron/ �̭��h�F�A�ӥB�O�H�b���ӧ@���P�O�����I�|�Ҩӻ��A dmtsai �ϥ� crontab ��A �L���u�@�|�Q������ /var/spool/cron/dmtsai ���Y�h�I���Ъ`�N�A���n�ϥ� vi �����s����ɮסA �]���i��ѩ��J�y�k���~�A�|�ɭP�L�k���� cron ���I�t�~�A cron ���檺�C�@���u�@���|�Q������ /var/log/cron �o�ӵn���ɤ��A�ҥH�o�A�p�G�A�� Linux �����D���_�Q�ӤJ�차�ɡA�]�i�H�j�M�@�U /var/log/cron �o�ӵn���ɩO�I

�n�F�A����ڭ̴N�Ӳ�@�� crontab ���y�k�a�I

[root@www ~]# crontab [-u username] [-l|-e|-r]
�ﶵ�P�ѼơG
-u  �G�u�� root �~��i��o�ӥ��ȡA��Y����L�ϥΪ̫إ�/���� crontab �u�@�Ƶ{�F
-e  �G�s�� crontab ���u�@���e
-l  �G�d�\ crontab ���u�@���e
-r  �G�����Ҧ��� crontab ���u�@���e�A�Y�ȭn�����@���A�Х� -e �h�s��C

�d�Ҥ@�G�� dmtsai �������b�C�Ѫ� 12:00 �o�H���ۤv
[dmtsai@www ~]$ crontab -e
# ���ɷ|�i�J vi ���s��e�����z�s��u�@�I�`�N��A�C���u�@���O�@��C
0   12  *  *  * mail dmtsai -s "at 12:00" < /home/dmtsai/.bashrc
#�� �� �� �� �g |<==============���O��========================>|

�w�]���p�U�A����ϥΪ̥u�n���Q�C�J /etc/cron.deny �����A����L�N�i�H�����U�F�y crontab -e �z�h�s��ۤv���Ҧ�ʩR�O�F�I��ӹL�{�N�p�P�W�����쪺�A�|�i�J vi ���s��e���A �M��H�@�Ӥu�@�@��ӽs��A�s�觹�������J�y :wq �z�x�s�����} vi �N�i�H�F�I �ӨC���u�@ (�C��) ���榡���O�㦳�������A�o������쪺�N�q���G

�N���N�q�����p���������g���O
�Ʀr�d��0-590-231-311-120-7 �r�N���O��

������쪺�O���ӡy�g�z��I�g���Ʀr�� 0 �� 7 �ɡA���N���y�P���ѡz���N��I�t�~�A �٦��@�ǻ��U���r�šA�j�������U�o�ǡG

�S���r���N���N�q
*(�P��)�N������ɨ賣�������N��I�|�Ҩӻ��A�d�Ҥ@�����Ӥ�B��B�g���O * �A �N�N���ۡy���צ��B��骺§���X�� 12:00 �����������O�z���N��I
,(�r��)�N�����j�ɬq���N��C�|�Ҩӻ��A�p�G�n�U�F���u�@�O 3:00 �P 6:00 �ɡA�N�|�O�G
0 3,6 * * * command
�ɶ��Ѽ��٬O������A���L�ĤG��O 3,6 �A�N�� 3 �P 6 ���A�ΡI
-(�)�N���@�q�ɶ��d�򤺡A�|�Ҩӻ��A 8 �I�� 12 �I�������C�p�ɪ� 20 �����i��@���u�@�G
20 8-12 * * * command
�J�Ӭݨ�ĤG���ܦ� 8-12 ��I�N�� 8,9,10,11,12 ���A�Ϊ��N��I
/n(�׽u)���� n �N���Ʀr�A��Y�O�y�C�j n ��춡�j�z���N��A�Ҧp�C�������i��@���A�h�G
*/5 * * * * command
��²��a�I�� * �P /5 �ӷf�t�A�]�i�H�g�� 0-59/5 �A�ۦP�N��I

�ڭ̴N�ӷf�t�X�ӨҤl�m�߬ݬݧa�I���U���רҽй�ڥ� dmtsai �o�Ө����@�ݬݳ�I���򪺰ʧ@�~����f�t�_�ӡI

���D�G
���Y�A���k�B�ͥͤ�O 5 �� 2 ��A�A�Q�n�b 5 �� 1 �骺 23:59 �o�@�ʫH���L�A�o�ʫH�����e�w�g�g�b /home/dmtsai/lover.txt ���F�A�Ӧp��i��H
���G
�����U�F crontab -e ����A�s�覨���G
59 23 1 5 * mail kiki < /home/dmtsai/lover.txt
���˪��ܡA�C�~ kiki ���|����A���o�ʫH��I�]���M�o�A�H�����e�N�n�C�~�ܤ@�ܰաI�^

���D�G
���p�C�������ݭn���� /home/dmtsai/test.sh �@���A�S�Ӧp��H
���G
�P�˨ϥ� crontab -e �i�J�s��G
*/5 * * * * /home/dmtsai/test.sh

���� crontab �C�ӤH���u���@���ɮצs�b�A�N�O�b /var/spool/cron �̭��ڡI �٦���ij�z�G�y���O�U�F�ɡA�̦n�ϥε�����|�A�o�ˤ�����|�䤣������ɳ��I�z

���D�G
���p�A�C�P�������P�B�ͦ����A����Q�n�C�ӬP�����U�� 4:30 �i�D�A�B�ͬP���������|���n�ѰO�A�h�G
���G
�٬O�ϥ� crontab -e �ڡI
30 16 * * 5 mail friend@his.server.name < /home/dmtsai/friend.txt

�u���O��²��a�I�����I����A�Ӧp��d�ߨϥΪ̥ثe�� crontab ���e�O�H�ڭ̥i�H�o�˨ӬݬݡG

[dmtsai@www ~]$ crontab -l
59 23 1 5 * mail kiki < /home/dmtsai/lover.txt
*/5 * * * * /home/dmtsai/test.sh
30 16 * * 5 mail friend@his.server.name < /home/dmtsai/friend.txt

# �`�N�A�Y�ȷQ�n�����@���u�@�Ӥw���ܡA�����n�� crontab -e �h�s���
# �p�G�Q�n�������u�@�������A�~�ϥ� crontab -r ��I
[dmtsai@www ~]$ crontab -r
[dmtsai@www ~]$ crontab -l
no crontab for dmtsai

�ݨ�F�ܡH crontab �y��Ӥ��e�������F�I�z�ҥH�Ъ`�N�G�y�p�G�u�O�n�R���Y�� crontab ���u�@���ءA����Шϥ� crontab -e �ӭ��s�s��Y�i�I�z�p�G�ϥ� -r ���ѼơA�O�|�N�Ҧ��� crontab ��Ƥ��e���R�����I�d�U�`�N�F�I


�t�Ϊ��]�w�ɡG /etc/crontab

�o�ӡy crontab -e �z�O�w��ϥΪ̪� cron �ӳ]�p���A�p�G�O�y�t�Ϊ��Ҧ�ʥ��ȡz�ɡA �ӫ���O�H�O�_�٬O�ݭn�H crontab -e �Ӻ޲z�A���Ҧ�ʤu�@�Ƶ{�O�H���M���ݭn�A�A�u�n�s�� /etc/crontab �o���ɮ״N�i�H�աI���@�I�ݭn�S�O�`�N��I���N�O crontab -e �o�� crontab ���O /usr/bin/crontab �o�Ӱ����ɡA���O /etc/crontab �i�O�@�ӡy�¤�r�ɡz��I�A�i�H root �������s��@�U�o���ɮ׭��I

�򥻤W�A cron �o�ӪA�Ȫ��̧C��������O�y�����z�A�ҥH�y cron �|�C�����hŪ���@�� /etc/crontab �P /var/spool/cron �̭�����Ƥ��e �z�A�]���A�u�n�A�s�觹 /etc/crontab �o���ɮסA�åB�N�L�x�s����A���� cron ���]�w�N�۰ʪ��|�Ӱ���F�I

�b Linux ���U�� crontab �|�۰ʪ����ڭ̨C�������sŪ���@�� /etc/crontab ���Ҧ�u�@�ƶ��A���O�Y�ǭ�]�Ϊ̬O��L�� Unix �t�Τ��A�ѩ� crontab �OŪ��O����������A�ҥH�b�A�ק粒 /etc/crontab ����A�i��ä��|���W����A �o�ӮɭԽЭ��s�Ұ� crond �o�ӪA�ȧa�I�y/etc/init.d/crond restart�z

�o�ܤֻ��A�ڭ̴N�Ӭݤ@�U�o�� /etc/crontab �����e�a�I

[root@www ~]# cat /etc/crontab
SHELL=/bin/bash                     <==�ϥέ��� shell ����
PATH=/sbin:/bin:/usr/sbin:/usr/bin  <==�����ɷj�M���|
MAILTO=root                         <==�Y���B�~STDOUT�A�H email�N��ưe����
HOME=/                              <==�w�]�� shell ���a�ؿ��Ҧb

# run-parts
01  *  *  *  *   root      run-parts /etc/cron.hourly   <==�C�p��
02  4  *  *  *   root      run-parts /etc/cron.daily    <==�C��
22  4  *  *  0   root      run-parts /etc/cron.weekly   <==�C�g��
42  4  1  *  *   root      run-parts /etc/cron.monthly  <==�C�Ӥ� 1 ��
�� �� �� �� �g ����̨���  ���O��

�ݨ�o���ɮת����e�A�j���N�A�ѤF�a�I�����A�S���I�o���ɮ׻P�N���ڭ̤U�F crontab -e �����e�X�G�����@�Ҥ@�ˡI�u�O���X�Ӧa�褣�ӬۦP�G

�ѩ� CentOS ���Ѫ� run-parts �o�� script �����U�A�]�� /etc/crontab �o���ɮ׸̭��䴩��ؤU�F���O���覡�A �@�جO�����U�F���O�A�@�ثh�O�H�ؿ��ӳW���A�Ҧp�G

�n�I�A�{�b�j���A�ѤF�o�@�өN�N�a�IOK�I���]�A�{�b�n�@�@�ӥؿ��A���t�Υi�H�C 2 �����h����o�ӥؿ��U���Ҧ��i�H���檺�ɮסA�A�i�H�g�U�p�U���o�@��b /etc/crontab ���G

*/2 * * * * root run-parts /etc/cron.min

���M�o�A /etc/cron.min �o�ӥؿ��O�ݭn�s�b����I���p�G�ڻݭn���檺�O�@�ӡy�{���z�Ӥw�A ���ݭn�Ψ�@�ӥؿ��O�H�Ӧp��O�n�H�Ҧp�b���������y�q�ɡA�ڭ̧Ʊ�C�������������R�@���A �i�H�o�˼g�G

*/5 * * * * root /bin/mrtg /etc/mrtg/mrtg.cfg

�p��I�إߨҦ�ʩR�O��²��a�I�p�G�A�O�t�κ޲z���ӥB�A���u�@�S�O�t�κ��@�譱���Ҧ���ȮɡA �����ק� /etc/crontab �o���ɮקY�i��I�S�K�Q�A�S��K�޲z�O�I


�@�Ǫ`�N�ƶ�

�����ɭԡA�ڭ̥H�t�Ϊ� cron �Ӷi��Ҧ�ʤu�@���إ߮ɡA�n�`�N�@�ǨϥΤ譱���S�ʡC �|�Ҩӻ��A�p�G�ڭ̦��|�Ӥu�@���O�������n�i��@�����A����O�_�o�|�Ӱʧ@�������b�P�@�Ӯɶ��I�i��H �p�G�P�ɶi��A�ӥ|�Ӱʧ@�S�ܯӨt�θ귽�A�p���@�ӡA�C���������O�|���t�Φ��o�n���H �����I���ɦn�n�����t�@�ǰ���ɶ��N OK �աI�ҥH�A�`�N�@�U�G


���j�q�ϥ� crontab ���ɭԡA�`�O�|�����D�o�ͪ��A���Y�������D�N�O�y�t�θ귽���t�����z�����D�A �H�������t�ά��ҡA�ڦ������D���y�q����T�A�]�A�G

�p�G�C�Ӭy�{���b�P�@�Ӯɶ��Ұʪ��ܡA����b�Y�Ӯɬq�ɡA�ڪ��t�η|�ܪ��۷����c���A �ҥH�A�o�ӮɭԴN�����n���O�]�w�աI�ڥi�H�o�˰��G

[root@www ~]# vi /etc/crontab
1,6,11,16,21,26,31,36,41,46,51,56 * * * * root  CMD1
2,7,12,17,22,27,32,37,42,47,52,57 * * * * root  CMD2
3,8,13,18,23,28,33,38,43,48,53,58 * * * * root  CMD3
4,9,14,19,24,29,34,39,44,49,54,59 * * * * root  CMD4

�ݨ�F�S�H���ӡy , �z���j���ɭԡA�Ъ`�N�A���n���ťզr���I�]�s�򪺷N��^�p���@�ӡA �h�i�H�N�C�������u�@���y�{���O�b���P���ɨ�Ӥu�@�I�h�i�H���t�Ϊ�����������Z��I


�t�~�@�ӧx�Z�o�ͦb�y �������榨�G�Ϊ̬O���檺���ؤ�����X����ƮɡA�Ӹ�ƱN�| mail �� MAILTO �]�w���b�� �z�A�n�աA��������@�ӱƵ{�@���X���]�Ҧp DNS �������t�η����A�Y DNS �W�h�D�������A����A�N�|�@��������~�T���I�^����H�����I�ٰO�o�Q�@���ͨ쪺��Ƭy���ɦV�a�H �����H�y�R�O���ɦV�z�N��X�����G��X�� /dev/null �o�өU���������N�n�F�I


�ܦh�ɭԳQ�ӤJ�차���O�H�Ҧ�R�O���覡�ӤJ���A�ҥH�i�H�ǥ��ˬd /var/log/cron �����e�ӵ���O�_���y�D�z�]�w�� cron �Q����F�H�z�o�ӮɭԴN�ݭn�p�ߤ@�I�o�I


�t�@�ӻݭn�`�N���a��b��G�y�A�i�H���O�H�g�Ϊ̬O��묰���@���`���A���A���i�ϥΡu�X��X���B���P���X�v���Ҧ��u�@�z�C �o�ӷN��O���A�A���i�H�o�˽s�g�@�Ӥu�@�Ƶ{�G

30 12 11 9 5 root echo "just test"   <==�o�O���~���g�k

���ӧA�H���E��Q�@���B���P�����~�|�i��o���u�@�A�L�`���O�A�t�Υi��|�P�w�C�ӬP�����@�@���A�ΨC�~�� 9 �� 11 �����O�i��A�p���@�ӻP�A���쪺�W���N���@�ˤF��ҥH�o�A�o�n�`�N�o�Ӧa��I�W�z���g�k�O���諸��I


�i��������������u�@����

�p�G�A�� Linux �D���O�@�� 24 �p�ɥ��ѡB���~�L�𪺦��A�����ΡA����A�u�n�� atd �P crond �o��ӪA�ȨӺ޲z�A���Ҧ�ʤu�@�Ƶ{�Y�i�C�p�G�A�����A���ëD 24 �p�ɵL���_���}���A����A�Ӧp��i��Ҧ�ʤu�@�H �|�Ҩӻ��A�p�G�A�C�ѱߤW���n�����A����դѤ~�ҰʧA�� Linux �D���ɡA�ѩ� CentOS �w�]���u�@�Ƶ{���b 4:02am �C�Ѷi��A���I�p���@�Ӥ��N�@��t�ΨҦ�u�@���S���H�b���F�I���i����H���ɴN�o�n anacron �o�å�F�I


����O anacron

anacron �ä��O�ΨӨ��N crontab ���Aanacron �s�b���ت��N�b��ڭ̤W�Y���쪺�A�b�B�z�D 24 �p�ɤ@���Ұʪ� Linux �t�Ϊ� crontab ������I�ҥH anacron �ä�����w��ɰ���Y�����ȡA �ӬO�H�Ѭ����Ϊ̬O�b�}����ߨ�i�� anacron ���ʧ@�A�L�|�h���������������Ӷi����O�èS���i�檺 crontab ���ȡA�ñN�ӥ��Ȱ���@�M��Aanacron �N�|�۰ʰ���F�C

�ѩ� anacron �|�H�@�ѡB�C�ѡB�@�Ӥ묰���h�����t�Υ��i�檺 crontab ���ȡA�]�����Y�ǯS�����ϥ����ҫD�`�����U�C �|�Ҩӻ��A�p�G�A�� Linux �D���O��b���q���P���ϥΪ��A�]���g������j�a�����b�ҥH�]�S�����n�}�ҡA �]���A�� Linux �O�g�����|������Ѫ��C���O crontab �j�h�b�C�Ѫ����H�ζg�骺���W�i��U�����ȡA �����A�S�����F�A���ɨt�Ϋܦh crontab �����ȴN�L�k�i��C anacron ��n�i�H�ѨM�o�Ӱ��D�I

���� anacron �S�O��򪾹D�ڭ̪��t��ԣ���������O�H�o�N�o�n�ϥ� anacron Ū�����ɶ��O���� (timestamps) �F�I anacron �|�h���R�{�b���ɶ��P�ɶ��O���ɩҰO�����W������ anacron ���ɶ��A��̤����Y�o�{���t���A ���N�O�b�Y�Ǯɨ�S���i�� crontab �o�I���� anacron �N�|�}�l���楼�i�檺 crontab ���ȤF�I �ҥH anacron ���]�O�z�L crontab �ӹB�@���I�]�� anacron �B�@���ɶ��q�`����ӡA�@�ӬO�t�ζ}�������B�@�A�@�ӬO�g�J crontab ���Ƶ{���C �o�ˤ~����b�S�w�ɶ����R�t�Υ��i�檺 crontab �u�@���I�A�ѥG�I


anacron �P /etc/anacrontab

anacron ���O�@��{���ëD�@�ӪA�ȡI�o��{���b CentOS �����w�g�i�J crontab ���Ƶ{��I ���۫H�ܡH�A�i�H�o�˰l�ܬݬݡG

[root@www ~]# ll /etc/cron*/*ana*
-rwxr-xr-x 1 root root 379 Mar 28  2007 /etc/cron.daily/0anacron
-rwxr-xr-x 1 root root 381 Mar 28  2007 /etc/cron.monthly/0anacron
-rwxr-xr-x 1 root root 380 Mar 28  2007 /etc/cron.weekly/0anacron
# ��n�O�C�ѡB�C�g�B�C�릳�Ƶ{���u�@�ؿ��I�d�\�@�U�C�Ѫ�����

[root@www ~]# cat /etc/cron.daily/0anacron
if [ ! -e /var/run/anacron.pid ]; then
    anacron -u cron.daily
fi
# �ҥH���]�ȬO���� anacron -u �����O�I�]���ڭ̱o�ӽͽͳo��{���I

�򥻤W�A anacron ���y�k�p�U�G

[root@www ~]# anacron [-sfn] [job]..
[root@www ~]# anacron -u [job]..
�ﶵ�P�ѼơG
-s  �G�}�l�@�s�򪺰���U���u�@ (job)�A�|�̾ڮɶ��O���ɪ���ƧP�_�O�_�i��F
-f  �G�j��i��A�Ӥ��h�P�_�ɶ��O���ɪ��ɶ��W�O�F
-n  �G�ߨ�i�楼�i�檺���ȡA�Ӥ����� (delay) ���ݮɶ��F
-u  �G�ȧ�s�ɶ��O���ɪ��ɶ��W�O�A���i�����u�@�C
job �G�� /etc/anacrontab �w�q���U���u�@�W�١C

�ҥH�ڭ̵o�{��� /etc/cron.daily/0anacron �ȶi��ɶ��W�O����s�A�ӨS���i����� anacron ���ʧ@�I �b�ڭ̪� CentOS ���Aanacron ���i����O�b�}��������~�i�檺�@���u�@���ȡA�A�]�i�H�N anacron �ƤJ crontab ���Ƶ{���C���O���F��� anacron �~�P�ɶ��ѼơA�]�� /etc/cron.daily/ �̭��� anacron �~�|�b�ɦW���e�[�� 0 (0anacron)�A�� anacron �̥��i��I�N�O���F���ɶ��W�O����s�I�H�קK anacron �~�P crontab �|���i�����u�@���N��C

���U�ӧڭ̬ݤ@�U /etc/anacrontab �����e�n�F�G

[root@www ~]# cat /etc/anacrontab
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

1       65      cron.daily     run-parts /etc/cron.daily
7       70      cron.weekly    run-parts /etc/cron.weekly
30      75      cron.monthly   run-parts /etc/cron.monthly
�Ѽ�   ����ɶ� �u�@�W�٩w�q   ��ڭn�i�檺���O��
# �ѼƳ�쬰�ѡF����ɶ���쬰�����F�u�@�W�٩w�q�i�ۭq�F
# ���O��h�q�`�P crontab ���]�w�ۦP�I

[root@www ~]# more /var/spool/anacron/*
::::::::::::::
/var/spool/anacron/cron.daily
::::::::::::::
20090315
::::::::::::::
/var/spool/anacron/cron.monthly
::::::::::::::
20090301
::::::::::::::
/var/spool/anacron/cron.weekly
::::::::::::::
20090315
# �W���h�O�T�Ӥu�@�W�٪��ɶ��O���ɥH�ΰO�����ɶ��W�O

�ѩ� /etc/cron.daily �������Ȥ���h�A�]���ڭ̨ϥΨC�Ѷi�檺���ȨӸ����@�U anacron ���B�@���p�n�F�C anacron �Y�U�F�y anacron -s cron.daily �z�ɡA�L�|�o�˹B�@���G

  1. �� /etc/anacrontab ���R�� cron.daily �o���u�@�W�٪��ѼƬ� 1 �ѡF
  2. �� /var/spool/anacron/cron.daily ���X�̪�@������ anacron ���ɶ��W�O�F
  3. �ѤW�ӨB�J�P�ثe���ɶ�����A�Y�t���ѼƬ� 1 �ѥH�W (�t 1 ��)�A�N�dzƶi����O�F
  4. �Y�dzƶi����O�A�ھ� /etc/anacrontab ���]�w�A�N���� 65 ����
  5. ����ɶ��L��A�}�l���������O�A��Y�y run-parts /etc/cron.daily �z�o����O�F
  6. ���槹����A anacron �{�������C

�ҥH���A�ɶ��W�O�O�D�`���n���Ianacron �O�z�L�ӰO���P�ثe���ɶ��t���A�A�Ѩ�O�_���ӭn�i��Y�����Ȫ��u�@�I �|�Ҩӻ��A�p�G�ڪ��D���b 2009/03/15(�P����) 18:00 �����A�M��b 2009/03/16(�P���@) 8:00 �}���A�ѩ�ڪ� crontab �O�b���W 04:00 ���k�i��U�����ȡA�ѩ�Ӯɨ�t�άO�������A�]���ɶ��W�O���¬� 20090315 (�ª��ɶ�)�A ���O�ثe�ɶ��w�g�O 20090316 (�s���ɶ�)�A�]�� run-parts /etc/cron.daily �N�|�b�}���L 65 ������}�l�B�@�F�C

�ҥH�o�A anacron �ä��ݭn�B�~���]�w�A�ϥιw�]�ȧY�i�I�u�O�ڭ̪� CentOS �u���b�}���ɤ~�|���� anacron �N�O�F�C�p�G�n�T�w anacron �O�_�}���ɷ|�D�ʪ�����A�A�i�H�U�F�U�C���O�G

[root@www ~]# chkconfig --list anacron
anacron      0:off   1:off   2:on    3:on    4:on    5:on    6:off
# �ԲӪ� chkconfig �����ڭ̷|�b���򳹸`����A�`�N�� 3, 5
# �����ءA���O on �I���N�O���ҰʰաI�}���ɤ~�|���檺�N��I

�{�b�A���D������j�F�@�}�l�~�N CentOS �}���A�}���L��� 1 �p�ɥ��k�t�η|���@�p�q�ɶ������L�I�ӥB�w�з|�]�Ӥ����I���N�O�]�� anacron ���b����L�h crontab ���i�檺�U���u�@�Ƶ{�աI�o�˹� anacron ���S�������F�O�H ^_^


���I�^�U

�������D
( �n�ݵ��׽бN�ƹ����ʨ�y���G�z���U���ťճB�A���U������ťճB�Y�i��� )
²���D�G

2002/05/30�G�Ĥ@������
2003/02/10�G���s�s�ƻP�[�J FAQ
2005/09/07�G�N�ª��峹���ʨ� ���B �C
2005/09/07�G�I�I�I�ש󧹦������o��P�ɥ[�J�@�Dz��D�m�ߡC
2009/03/12�G�N�ª���󲾰ʨ����B�C
2009/03/14�G�[�J batch �o�Ӷ��ت������I�P at �����I
2009/03/15�G�[�J�F anacron �o���N��²�满���I
2009/09/11�G�y�L�׭q�@�U�����y��P�s����ơC