如何使用Shell腳本刪除一個(gè)月之前的日志
在Linux系統(tǒng)中,有許多發(fā)行版本可供選擇。這里以CentOS6為例,介紹如何添加一個(gè)Shell腳本來自動刪除一個(gè)月之前的日志文件。1. 使用root用戶登錄系統(tǒng)首先,我們需要使用root用戶登錄到C
在Linux系統(tǒng)中,有許多發(fā)行版本可供選擇。這里以CentOS6為例,介紹如何添加一個(gè)Shell腳本來自動刪除一個(gè)月之前的日志文件。
1. 使用root用戶登錄系統(tǒng)
首先,我們需要使用root用戶登錄到CentOS6系統(tǒng)中,以便具備足夠的權(quán)限來操作系統(tǒng)文件。
2. 添加腳本
下一步是創(chuàng)建一個(gè)Shell腳本,用于刪除一個(gè)月之前的日志文件。
2.1 切換到/etc/init.d/目錄
打開終端并輸入以下命令,切換到/etc/init.d/目錄:
```
cd /etc/init.d/
```
2.2 創(chuàng)建sh腳本
使用vi編輯器創(chuàng)建一個(gè)名為的腳本文件:
```
vi
```
2.3 編寫腳本內(nèi)容
在編輯器中輸入以下內(nèi)容:
```shell
!/bin/sh
find /var/log/httpd -mtime 30 -name "*.log" -exec rm -rf {} ;
```
以上腳本將查找位于/var/log/httpd目錄下,更改時(shí)間超過30天,并且以.log結(jié)尾的文件,并將其刪除。
2.4 設(shè)置腳本可執(zhí)行權(quán)限
保存并退出編輯器后,給腳本文件添加可執(zhí)行權(quán)限:
```
chmod x
```
3. 添加后臺任務(wù)執(zhí)行
為了定期執(zhí)行該腳本,我們可以使用crontab來添加一個(gè)后臺任務(wù)。
3.1 打開crontab編輯器
在終端中輸入以下命令,打開crontab編輯器:
```
crontab -e
```
3.2 添加任務(wù)內(nèi)容
在編輯器中添加以下內(nèi)容(每天0:01分執(zhí)行該腳本):
```
01 00 * * * > /dev/null 2>1
```
如果你想指定具體日期來執(zhí)行該腳本,可以按照以下格式進(jìn)行設(shè)置(例如:每年9月1號凌晨2點(diǎn)0分開始執(zhí)行腳本):
```
0 2 1 9 * > /dev/null 2>1
```
其中,時(shí)間的順序?yàn)榉?、時(shí)、日、月、周,你可以根據(jù)自己的需求進(jìn)行更改。
3.3 保存并退出
編輯完成后,保存并退出編輯器:
```
:wq
```
至此,你已經(jīng)成功添加了一個(gè)后臺任務(wù),每天都會自動執(zhí)行該腳本來刪除一個(gè)月之前的日志文件。這樣可以幫助你管理服務(wù)器上的日志文件,保持系統(tǒng)的整潔和性能的穩(wěn)定。