如何定期删除access_log的内容&如何在bash脚本中编写“if(array = nothing)then ...”

时间:2013-12-03 04:42:00

标签: arrays apache bash logging

首先,我想每隔5min定期删除access_log的内容(/ var / log / httpd / access_log)。请告诉我该怎么做??

其次,在bash脚本中,我定义了一个数组:

array=$(awk '{print $4}' /var/log/httpd/sample | uniq -c | cut -d[ -f1)

现在,我想知道如何使用if命令:

"if there is NOT any element in array, it means array=nothing, then echo "nothing in array".

这是关于数组的示例脚本:

# Tinh n2
arr=(${array[*]})
for (( i=(${#arr[@]} - 2),j=(${#arr[@]} - 1); i >= (${#arr[@]} - 2) , j > (${#arr[@]} - 2); i--,j-- )); do
  b=$( expr ${arr[j]} - ${arr[i]} )
  n2=$(abs $b)
done 
echo "n2 = $n2"

请告诉我如何编码?

非常感谢。

1 个答案:

答案 0 :(得分:1)

要截断文件,请将此命令添加到crontab配置文件中:

 > /var/log/httpd/access_log

注意:'>'是必需的

要检查空数组,请测试元素计数

if [ ${#array[@]} -eq 0 ]; then
    echo "Array is empty"
else
    echo "We have nail"
fi