16 使用作業排程自動化任務

2022-06-23 21:39:09 字數 1836 閱讀 7596

黑客也有他們想要定期執行的任務、指令碼或其他任務。你可能希望設定一個自動檔案備份,或者轉存日誌檔案。這些都是排程自動化作業的例子。

系統管理員,黑客都可能希望在系統啟動時自動啟動特定的指令碼或任務。

本章中,將學到如何使用cron守護程序和crontab設定一個指令碼,讓其甚至在系統無人操作時自動執行。

任務排程或使其自動執行

cron守護程式和crontab時用於排程常規任務的最有用的工具。

cron守護程式檢查cron列表以在指定時間執行哪些命令。可以更改cron列表,安排任務或工作在特定日期或時間,每天特定時間或每隔多周或幾個月定期執行。

要排程一個任何或作業,需要在/etc/crontab目錄下的crontab檔案裡輸入它們。

crontab列表有7個欄位,前五個用於計劃執行任務的時間,第6個欄位指定使用者,第7個欄位用於要執行的命令的絕對路徑。

如果我們編寫一個掃描全球易受攻擊的開放埠的指令碼,並希望它在週一到週五凌晨2:30執行,我們可以在crontab檔案中排程它。

如果你希望在非連續的周執行指令碼,可以用逗號將值分開。例如週二和週四就是2,4

編輯crontab

crontab -e

第一次執行此命令時,詢問你要使用哪個編輯器。預設為/bin/nano,選項1.

另一個選擇是用自己喜歡的文字編輯器開啟crontab。

leafpad /etc/crontab

設定一個備份計劃任務

使用crontab計劃執行mysqlscanner

計劃mysqlscanner.sh指令碼

crontab快捷方式

使用rc指令碼開機執行任務

每當你啟動linux系統時,都會執行一些指令碼來為你配置環境。這些指令碼就是rc指令碼。在核心初始化並載入了所有模組之後,核心將啟動一個守護程序叫做init或init.d。這個守護程序開始執行/etc/init.d/rc中的一些指令碼。這些指令碼包括一些命令,用於啟動執行linux系統所需的服務。

linux執行級別

將服務新增到rc.d

新增啟動時要執行的服務。

update-rc.d 【name of the script or service】【remove | defaults | disable | enable】

希望postgresql資料庫在系統啟動時執行。

先檢查postgresql是否已經在系統中執行了。

ps aux | grep postgresql

更新rc.d來讓postgresql啟動時自動執行

update-rc.d postgresql defaults

這會新增一行到rc.d檔案。你需要重啟系統來讓更改生效。

做完後,再使用ps命令和grep查詢postgresql程序

ps aux | grep postgresql

可以看到,再系統啟動時自動執行了,等待你使用metasploit

通過gui新增開機啟動服務

apt-get install rcconf

安裝完成後,啟動

rcconf

tab鍵,enter鍵,選擇和確認。postgresql將會自動啟動。