捕获查找命令输出到日志文件

时间:2018-04-09 15:44:01

标签: shell logging

#!/bin/bash
path="/cygdrive/d/splunk/finance"
LOG="/home/scripts/logCleanUp.log"
cat /dev/null>$LOG
date > $LOG
cd $path
find ./ -name "System*_*.log" -type f -exec rm -f {} \; >>$LOG 2>&1
du -sh $path >>$LOG 

输出文件:/home/scripts/logCleanUp.log

Mon, Apr 09, 2018 11:13:20 AM
109M    /cygdrive/d/splunk/finance

输出文件仅显示2行以上。但是,我还想捕获查找命令输出,以便它告诉我所有文件已被删除

谢谢, Khus

1 个答案:

答案 0 :(得分:0)

在查找命令

中添加-print
#!/bin/bash
path="/cygdrive/d/splunk/finance"
log="/home/scripts/logCleanUp.log"
{
  date
  find $path -name "System*_*.log" -type f -print -exec rm -f {} \; 
  du -sh $path
} > $log 2>&1 

我冒昧地将命令放在{}中,因此您只需要一次重定向而不需要初始化。

您不应该使用大写的变量名,它们通常是为系统变量保留的。只是避免可能的冲突。