No.3 Linux計劃任務

一. 簡介
做用: 計劃任務主要是作一些週期性的任務,目前最主要的用途是按期備份數據mysql

Schedule one-time tasks with at. 一次性調度執行 at
Schedule recurring jobs with cron. 循環調度執行 cron
Schedule recurring system jobs.
全部計劃任務執行中的輸出都會以郵件的方式發送給指定用戶, 除非重定向
(1)一次性調度執行 at
1)程序安裝
在軟件所在目錄
rpm -ivh at.x86_64 //安裝
systemctl start atd //啓動
systemctl status atd //查看
Active: active (running) //運行。inactive是不活躍就是沒有運行。
2 )語法格式sql

at <TIMESPEC>
              now +5min
              teatime tomorrow (teatime is 16:00)
               noon +4 days
               5pm august 3 2018 
    (3)循環調度執行 cron
            1 )簡介
                          # systemctl status crond.service
              # ps aux |grep crond
             root 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n
                             特色
                             :crond進程每分鐘會處理一次計劃任務
                        2   )語法
                             ** 用戶級**:
                                    格式:
                                    語法格式 Job format:

Minutes Hours Day-of-Month Month Day-of-Week Command vim

Example of job definition:

.---------------- minute (0 - 59)

| .------------- hour (0 - 23)

| | .---------- day of month (1 - 31)

| | | .------- month (1 - 12) OR jan,feb,mar,apr ...

| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

| | | | |

* command

0 2 /mysql_back.sh
0 2 14
/mysql_back.sh
0 2 14 2
/mysql_back.sh
0 2 5 /mysql_back.sh //不寫月日,僅周生效
0 2 6 5 /mysql_back.sh
0 2 2
5 /mysql_back.sh
0 2 2 6 5 /mysql_back.sh //書寫月和日,月或日,月日周均生效ide

/5 /mysql_back.sh
0 2 1,4,6
/mysql_back.sh
0 2 5-9
* /mysql_back.sh日誌

          • /mysql_back.sh
            0 /mysql_back.sh
    • 2 /mysql_back.shcode

      示例:
                                  00 02 * * * ls //天天2:00整
              00 02 1 * * ls //每個月1號2:00整
              00 02 14 2 * ls //每一年2月14號2:00整
              00 02 * * 7 ls //每週日2:00整
              00 02 * 6 5 ls //每一年6月的週五2:00整  (特殊)
              00 02 14 * 7 ls //每個月14號2:00整 或者 每週日2:00整,這兩個時間都執行
              00 02 14 2 7 ls //每一年2月14號2:00整 或者 每週日2:00整,這兩個時間都執行
      
              00 02 * * * ls //天天2:00整
              * 02 * * * ls //天天2:00中的每一分鐘
               * * * * * ls //每分鐘執行ls
               * * 14 2 * ls //2月14號的每分鐘 1440分鐘
      
             */5 * * * * ls //每隔5分鐘
             00 02 1,5,8 * * ls //每個月1,5,8號的2:00整
             00 02 1-8 * * ls //每個月1到8號的2:00整
      
                  **系統級**
                  1)簡介
                  系統級任務計劃做用:

      1.臨時文件的清理 /tmp /var/tmp
      2.系統信息的採集 sar
      3.日誌的輪轉(切割)logrotate
      4.一般不是由用戶定義
      2)定義位置一:orm

      vim /etc/crontab //該文件中默認沒有定義任何計劃任務

      * * * * * user-name command to be executed
      定義位置二
                  簡介:
               以天爲單位或者是在啓動後馬上進行 anacron 的動做,偵測停機期間應該進行可是並無進行的 crontab        任務,並運行一遍後自動中止。
       運轉週期:
                   時,天,周,月
                   工做原理:
                    anacron 會以一小時,一天、七天、一個月爲期去偵測系統未進行的 crontab 任務,所以對於某些特殊的使用環境(關機未執行)很是有幫助。
                      舉例說明:
                      週末關機了。週一早上開機,anacron就會檢查一下沒有執行的任務計劃,而後關閉。
相關文章
相關標籤/搜索