【发布时间】:2022-01-24 19:18:32
【问题描述】:
我的任务是编写一个脚本以将日志文件从一台服务器传输到存档服务器,但是当我运行该脚本时,我不断收到以下错误:
test.sh: line 4: unexpected EOF while looking for matching `''
test.sh: line 22: syntax error: unexpected end of file
脚本如下。
for D in `find /var/log/syslog/hosts/* -type d -iname *rrp0* -o prp01* *`
do
for F in `find $D -type f -mtime +7 -name "*.tar.gz"`
do
echo $F
filename=$(basename "$F");
SERVER=${filename%.*};
SERVER=$(echo $SERVER |cut -d "-" -f5);
echo $SERVER
if [ ! -d /var/log/syslog/archive/$SERVER ]
then
mkdir /var/log/syslog/archive/$SERVER;
fi
mv $F /var/log/syslog/archive/$SERVER
Log is already compressed, so no need to zip/rm it
cd $D;
zip /var/log/syslog/archive/$SERVER/$filename.zip $filename;
Remove original file
yes|rm $F
done
done
【问题讨论】:
-
假设“for D in ..”这一行是脚本的一部分:最后在 do 之前需要换行符或分号。另外,您确定 prp01* * 符合您的预期吗?
标签: scripting