雲計算學習14days --- 定時任務crontab

crond使用狀況

1.系統級別的定時任務shell

  • 臨時文件清理
  • 系統信息採集
  • 日誌文件切割
    2.用戶級別的定時任務
  • 定時向互聯網同步時間
  • 定時備份系統配置文件
  • 定時備份數據庫的數據數據庫

    使用定時任務(服務)準備

    幾大基礎服務:網絡(network),定時任務(crond),系統日誌(rsyslog),遠程鏈接(sshd)vim

    定時任務小目標

  • 每5min同步一次系統時間
  • 天天晚上12點打包備份/etc目錄到/backup
  • 打包備份/etc/usr下面以.conf結尾的文件 /backup
  • 打包備份/etc/usr下面以.conf結尾的文件 /backup/ip地址
  • 打包備份/etc/usr下面以.conf結尾的文件 /backup/ip地址並刪除7天以前的備份
  • 打包備份/etc/usr下面以.conf結尾的文件 /backup/ip地址並刪除7天以前的備份,保留週一的備份網絡

    計劃任務時間管理

    1.Crontab配置文件記錄了時間週期的含義
    /etc/crontab 系統定義的定時任務
    /etc/cron.deny 能夠禁止用戶定義定時任務
    image.pngssh

符號 含義 舉例
*
/ 每隔
, 表達沒有太大規律的 00 8,9,10 * bb 八九十點去bb
- 範圍 00 6-12 * bb 6到12點去bb
% 回車 用/%解決
每隔兩個小時執行一次df -h
00 */2 * * * 不能有空格*/2

分時日月周post

天天半夜12點吃吃飯
00 00 * * * 吃飯

使用crontab用戶定義cron定時任務

-e   #編輯定時任務,若是是root用戶,則是vim /var/spool/cron/root
-l   #查看定時任務
-r   #刪除定時任務,刪除當前用戶全部定時任務
-u   #指定其餘用戶
tail  -f   /vat/log/cron  #查看日誌
[root@sb ~]# crontab -l
#pll bbbb
* * * * * echo bbb >>/tmp/bb.txt
每分鐘 輸出bbb到bb.txt
* * * * * /sbin/ntpdate ntp1.aliyun.com &>/dev/null  
若是不是/bin下的命令,加上命令的絕對路徑
天天凌晨三點這一次備份,打包備份/etc/
tar zcf /tmp/etc.tar.gz  /etc/ 
crontab -e 
* 3 * * * tar zcf /tmp/etc.tar.gz   /etc/  &>/dev/null

定時任務未解之謎

man 5 crontab
同時書寫日期和周幾,僅僅一個符合就執行定時任務spa

故障案例,注意事項

1.給定時任務註釋
2.將須要按期執行任務寫入shell腳本中,避免直接使用命令沒法執行狀況 tar date
3.結尾必定要有&>/dev/null 或者追加劇定向>>/tmp/data.log
4.有些命令沒法執行成功echo "123" >> /tmp/test.log &>/dev/null調試

定時任務沒有定向到空或追加到文件,故障案例

郵件服務開啓,會收到大量的提示日誌

you have new mail in /var/spool/mail/root

最後致使郵件文件愈來愈大
關閉服務 systemctl stop postfix.service
會在/var/spool/postfix/maildrop下面生成大量小文件code

定時任務命令不在/bin /usr/bin ,故障案例

解決方法

  • 使用絕對路徑
  • 在腳本開頭從新配置下,與命令路徑相關的環境變量
    source /etc/profile

    crond如何備份

    1.經過查找/var/log/cron中執行的記錄,去推算任務執行的時間
    2.定時的備份/var/spool/cron/{username}

    如何拒絕某個用戶使用

    1.使用root將須要拒絕的用戶加入/etc/cron.deny
    2.

    計劃任務如何調試

  • 增長頻率
  • 調整系統時間
  • 把腳本執行結果寫入指定日誌文件,觀察日誌內容是否正常
  • 經過查看/var/log/cron日誌

相關文章
相關標籤/搜索