nohup.out文件過大解決方法 定時任務清空

0、1和2分別表示標準輸入、 標準輸出和標準錯誤 信息輸出,能夠用來指定須要重定向的標準輸入或輸出。
在通常使用時,默認的是標準輸出,既1.當咱們須要特殊用途時,能夠使用其餘標號。例如,將某個程序的錯誤信息輸出到log文件中:./program 2>log。這樣標準輸出仍是在屏幕上,可是錯誤信息會輸出到log文件中。
另外,也能夠實現0,1,2之間的重定向。 2>&1 :將錯誤信息重定向到標準輸出。
Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,全部重定向到它的信息都會消失得無影無蹤。這一點很是有用,當咱們不須要回顯程序的全部信息時,就能夠將輸出重定向到/dev/null。
若是想要正常輸出和錯誤信息都不顯示,則要把標準輸出和標準錯誤都重定向到/dev/null, 例如:
# ls 1>/dev/null 2>/dev/null
還有一種作法是將錯誤重定向到標準輸出,而後再重定向到 /dev/null,例如:
# ls >/dev/null 2>&1
注意:此處的順序不能更改,不然達不到想要的效果
#!/bin/bash
# Author: Ljohn
# Last Update: 2018.02.24
# Description: nohup.out 日誌分割
this_path=$(cd `dirname $0`;pwd) #根據腳本所在路徑
current_date=`date -d "-1 day" "+%Y%m%d"` #列出時間
cd $this_path
echo $this_path
echo $current_date
do_split () {
[ ! -d logs ] && mkdir -p logs
split -b 10m -d -a 4 ./nohup.out ./logs/nohup-${current_date} #切分10兆每塊至logs文件中,格式爲:nohup-xxxxxxxxxx
if [ $? -eq 0 ];then
echo "Split is finished!"
else
echo "Split is Failed!"
exit 1
fi
}
do_del_log() {
find ./logs -type f -ctime +7 | xargs rm -rf #清理7天前建立的日誌
cat /dev/null > nohup.out #清空當前目錄的nohup.out文件
}
if do_split ;then
do_del_log
echo "nohup is split Success"
else
echo "nohup is split Failure"
exit 2
fi
# crontab -e 添加定時任務:每週第一天的1點執行一次
#0 1 * * */1 /server/scripts/clearNohup.sh &>/dev/null
IM和視頻聊天的,能夠參考下這個 https://github.com/starrtc/starrtc-android-demo
相關文章
相關標籤/搜索