前言
入職一個多月,最近接到一個需求,需要在Linux系統下實作定期洗掉指定容器的功能,第一次接觸Linux系統編程有點手忙腳亂,經過一下午的查找資料,通過面向百度編程,終于完成了任務,現總結記錄一下,實作該功能由兩部分作業組成:1.洗掉容器shell腳本檔案的撰寫,2.定時器的設定,
一.腳本的撰寫
在Linux環境下,腳本檔案撰寫方式不同于windows環境,使用命令列的形式撰寫,首先新建一個shell腳本,如新建一個名為delete.sh的腳本,該腳本實作定期洗掉主機中名為nol cmcs scip專案的鏡像,
- 利用touch命令建立名為delete的空白.sh檔案:
touch delete.sh, - 利用vim命令進入編輯模式在.sh腳本中輸入代碼:
vim delete.sh, - 進入編輯模式還需要選擇操作,輸入代碼選用
i命令,此時進入插入模式,輸入我們的代碼:
docker images|grep nol|awk '{print $3}'|xargs docker rmi -f
docker images|grep cmcs|awk '{print $3}'|xargs docker rmi -f
docker images|grep scip|awk '{print $3}'|xargs docker rmi -f
-
編輯完成點擊Esc鍵退出編輯模式,輸入
:號進入文本退出前的設定,依次輸入wq,點擊回車,表示保存輸入文本退出編輯模式,利用cat命令可以查看.sh中的內容:cat delete.sh, -
利用./執行.sh檔案:注意直接執行會顯示權限不夠,所以需要先利用chmod命令賦予執行權限:
chmod +x delete.sh,再執行./delete.sh,這時shell腳本檔案就建立好了,如何實作定時功能,就要利用crontab設定周期性執行該腳本,
二.定時器的設定
crontab是周期性設定執行任務的工具,通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本,時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合,這個命令非常設合周期性的日志分析或資料備份等作業,利用crontab -h查看是否內置crontab工具,如果顯示crontab語法資訊,則說明已安裝,否則利用yum -y install crontabs命令安裝,利用crontab命令設定定時執行delete檔案,
- 定時執行代碼格式:
* * * * * command
分 時 日 月 周 命令
minute(分)可以設定0-59分
hour(小時)可以設定0-23小時
day of month(日期)可以設定1-31號
month(月份):可以設定1-12月
day of week(周):可以設定0-7星期幾,其中0和7都代表星期天,或者我們也可以使用名稱來表示星期天到星期一,例如sun表示星期天,mon表示星期一等等
命令:指我們要執行的檔案如delete.sh檔案(需要填寫完整路徑):
- 利用crontab命令進入新建計劃模式
crontab -e, - 和編輯腳本檔案類似,點擊
i進入插入模型,輸入以下字符:
1 1 * * */root/./delete.sh
并按Esc鍵退出插入模式,輸入:回車進入退出選取方式模式,退出方式輸入wq,保存退出,
- 查看已經建立的計劃串列利用
crontab -l命令,
以上兩步,實作了在Linux系統下,周期性洗掉nol cmcs scip三個專案鏡像的需求,
三.附錄
參考
crontab定時任務詳解
一個簡單的linux下設定定時執行shell腳本的示例
Linux創建可運行shell腳本:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/75033.html
標籤:其他
上一篇:Linux的歸檔與壓縮
