Shell腳本定時(shí)備份清除運(yùn)行系統(tǒng)日志的代碼
一、寫備份并清除老日志Shell腳本:
#!/bin/sh
#backup eoslog
#author rhao
#date 2008-12-27
#定義環(huán)境變量
EOS_HOME=/home/eos
SAS_HOME=/home/eos/SAS
# 測(cè)試主輔結(jié)點(diǎn)
if test -d '/home/eos/SAS/SAS1_web1'
then
SAS_LOG_HOME=$SAS_HOME/SAS1_web1/SAS_Domain/bin
else
SAS_LOG_HOME=$SAS_HOME/SAS2_web1/SAS_Domain/bin
fi
# 定義并創(chuàng)建日志備份目錄
SAS_LOG_BAK_HOME=$EOS_HOME/saslog/
mkdir -p $SAS_LOG_BAK_HOME
# 切換目錄為EOS日志文件目錄
cd $SAS_LOG_HOME
# 獲取當(dāng)前系統(tǒng)日期
TODAY=`date +%Y%m%d`
# 備份當(dāng)前日志
cp nohup.out $SAS_LOG_BAK_HOME/$TODAY.log
# 清除當(dāng)前日志
touch nohup.null
cp nohup.null nohup.out -f
rm nohup.null
# 清除七天前的日志
for rmfile in `find $SAS_LOG_BAK_HOME -ctime +7 `;
do /bin/rm -rf $rmfile;
done
二、將腳本加入操作系統(tǒng)的crontab 中,直接VI加入即可
[eos@xcfwbz1 SAS]$ crontab -l
59 23 * * * /home/eos/SAS/backup_eoslog.sh
上面表示每天23:59分執(zhí)行該腳本
清除日志(log)的shell腳本
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
E_XCD=66
E_NOTROOT=67
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES
fi
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ]
then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi
tail -$lines messages > mesg.temp
mv mesg.temp messages
echo "Logs cleaned up."
exit 0
相關(guān)文章
Linux系統(tǒng)中bash shell編程的10個(gè)基礎(chǔ)問題講解
這篇文章主要介紹了Linux系統(tǒng)中bash shell編程的10個(gè)基礎(chǔ)問題講解,這10個(gè)問題涵蓋了很多Linux shell編程的基本知識(shí)點(diǎn)及bash shell的特性,非常推薦!需要的朋友可以參考下2016-02-02shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個(gè)數(shù)淺析
Linux的shell腳本,有時(shí)候我們?cè)谶\(yùn)行shell腳本時(shí)會(huì)給腳本傳入?yún)?shù),出于邏輯上的嚴(yán)謹(jǐn),在腳本中可能會(huì)做一些邏輯判斷或處理,例如判斷腳本傳入?yún)?shù)的個(gè)數(shù),這篇文章主要介紹了shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個(gè)數(shù)淺析,需要的朋友可以參考下2024-03-03linux定時(shí)備份mysql并同步到其它服務(wù)器
這篇文章主要介紹了linux定時(shí)備份mysql并同步到其它服務(wù)器,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09使用Linux的alternatives命令替換選擇軟件的版本方法
下面小編就為大家?guī)硪黄褂肔inux的alternatives命令替換選擇軟件的版本方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05Shell腳本連接oracle數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Shell腳本連接oracle數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Linux 查看內(nèi)存插槽數(shù)、最大容量的方法
下面小編就為大家?guī)硪黄狶inux 查看內(nèi)存插槽數(shù)、最大容量的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05