iT邦幫忙

DAY 26
0

openSUSE Linux 30 天系列 第 26

2014IT鐵人賽-26-排程工作

2014IT鐵人賽-26-排程工作

今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.

今天練習排程工作 cron / at 的管理吧

筆記部份:

針對一些週期性的工作或是一些突發的工作, 一般我們會撰寫 shell script 然後搭配 cron 或是 at 這樣的排程指令來達成, 所以今天我們就來練習排程相關指令吧.

**cron 定時排程**

cron 符合條件就執行

crontab -e 語法

分 時 日 月 星期幾 指令

* * * * * <代表每分鐘執行>

0 * * * * <每小時執行, 分針為0時>

*/5 * * * * <每五分鐘執行一次>

/var/spool/cron/tabs/ 存放cron 的排程工作(個人)

/etc/crontab 系統的排程工作

  • 利用 /usr/lib/cron/run-crons 檢查相關工作是否被執行
  • /etc/cron.hourly 每小時要做的排程工作(預設沒有工作)
  • /etc/cron.daily/ 每日要做的排程工作
  • /etc/cron.weekly 每周要做的排程工作(預設沒有工作)
  • /etc/cron.monthly 每月要做的排程工作(預設沒有工作)

**at 在指定的時間執行一次**

針對突發的工作, 來進行工作的安排

/var/spool/atjobs 存放 at 工作

開始練習吧

Lab: Cron job

I.每兩個小時監控

1.磁碟使用空間

2.記憶體使用量

II.每天早上九點 max 的 Mail 要收到前一天的 Report

#vi /usr/local/bin/task.sh <編輯一個shell script 來執行>

#!/bin/bash <宣告執行的shell >

date >> /tmp/report.txt <將系統時間 以附加的方式寫入>

df -h >> /tmp/report.txt <將系統空間 以附加的方式寫入>

free >> /tmp/report.txt <將記憶體用量 以附加的方式寫入>

#chmod a+x /usr/local/bin/task.sh <給予執行的權限>

#ls /tmp | grep report <請觀察資訊 無report.txt>

#/usr/local/bin/task.sh <執行剛剛的shell script 測試>

#ls /tmp <請觀察資訊 有無report.txt>

#cat /tmp/report.txt <請觀察資訊>

#ls /var/spool/cron/tabs <執行crontab 前 請觀察資訊>

#crontab -e <編輯crontab>

0 */2 * * * /usr/local/bin/task.sh

0 9 * * * mail -s "Report" max < /tmp/report.txt

5 9 * * * rm -rf /tmp/report.txt

#ls /var/spool/cron/tabs <執行crontab 後 請觀察資訊>

#crontab -l <列出crontab -l 列出>

#crontab -r <移除crontab -r 移除>

#ls /var/spool/cron/tabs <請觀察資訊>

Lab: at

#rcatd status <觀察atd的資訊>

#rcatd start <啟動atd>

#at now +2min

at>wall /etc/fstab <廣播/etc/fstab給全體人員>

Ctrl + D <結束編輯>

#atq <列出at的工作>

Fun with Day 26 ~


上一篇
2014IT鐵人賽-25-syslog
下一篇
2014IT鐵人賽-27-透過 tar進行備份
系列文
openSUSE Linux 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言