shell 指令碼控制與計畫任務

2021-10-13 18:33:38 字數 2473 閱讀 4961

可以使用nice和renice調整指令碼優先順序

避免出現不可控的死迴圈

fork炸彈

.();

.

捕獲訊號指令碼的編寫

# 訊號指令碼

#!/bin/bash

# 捕獲15號訊號

trap

"echo sig 15" 15

# 捕獲2號訊號

trap

"echo sig 2" 2

計畫任務:讓計算機在指定的時間執行程式

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# date

sat jan 2 20:29:07 cst 2021

在指定的時間內,執行指定的shell命令:

# 使用at  xx:xx

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# at 20:31

warning: commands will be executed using /bin/sh

# 將hello 輸出到/home/lvhuiqi/hello.txt 檔案中

at>

echo hello > /home/lvhuiqi/hello.txt

# ctrl + d 進行提交

at>

job 2 at sat jan 2 20:31:00 2021

ctrl + d 進行提交

檢視當前at未執行的shell:

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# atq

1 sat jan 2 20:39:00 2021 a root

2 sat jan 2 20:31:00 2021 a root # 這條是上述設計的

使用atq檢視一次性執行的內容

校驗是否在指定時間輸出shell命令:

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# cat /home/lvhuiqi/hello.txt

hello

刪除at中未執行的shell命令:

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# atrm 1

atrm num 可指定刪除at中的資訊

cron 配置方式

檢視現有的計畫任務

配置格式

注意:命令的路徑問題

# 1.執行命令:crontab -e 開啟cron配置方式

[root@izbp1e44zna0rzyna76eszz lvhuiqi]

# crontab -e

# 每一分鐘執行一次命令

* * * * * /usr/bin/date >> /home/lvhuiqi/hello.txt

如果想使用到秒的,需要另外安裝三方包

# 星期一或星期五執行命令

* * * * 1,5 /usr/bin/date >> /home/lvhuiqi/hello.txt

# 星期一到星期五執行命令

* * * * 1-5 /usr/bin/date >> /home/lvhuiqi/hello.txt

檢視 date的命令:

[root@izbp1e44zna0rzyna76eszz lvhuiqi]# which date

/usr/bin/date

檢視cron的日誌:tail -f /var/log/cron

# 1月1日下午15點整,執行指令碼

0 15 1 1 * /usr/bin/date >> /home/lvhuiqi/hello.txt

注意:時間整點操作分鐘必須為0

Linux 指令碼控制和計畫任務

指令碼控制在我們使用指令碼做備份時 可能不希望使用者對指令碼做終端操作 這就需要我們做指令碼捕獲訊號後的處理 trap 命令 signal 可以讓指令碼接受到signal訊號時 執行 裡面的命令 trap echo sig15 15 代表收到15號訊號時 執行echo sig15 9號訊號 kill...

指令碼練習 計畫任務管理

bin bash read p please input a filename file if e file then echo file is not exits elif r file a w file then echo user can t read and write file else ...

利用shell指令碼實現計畫任務功能 V1 2

2013.05.10 mytask 1.2 主程式休眠時間分成若干小的時間片斷分段休眠,避免長時間的休眠不能及時響應系統訊號。2013.05.07 mytask 1.1 昨天發布了mytask1.0 版後 利用shell指令碼實現計畫任務功能 一直在想著如何解決那個最後的遺留問題 每個任務指令碼中宣...