linux - Bash 错误报告

标签 linux bash shell

好的,我可以让它运行并将文件放在远程服务器上。但是,当它运行时,我希望它回显传输失败、传输正常、文件中的零字节以及没有这样的文件或目录。当文件明确传输到服务器时,它只是运行代码并发送最后一个条目的电子邮件,该条目不是这样的文件或目录。我究竟做错了什么 ?? 提前致谢,谢谢。

#!/bin/sh
HOST=10.10.1.2
USER='test'
RECIP="user@somemail.com"
cd /home/test
FILE=ARG$(date '+%Y%m%d').txt
BYTES=`stat -c%s $FILE`
CONNECTION=`netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' |   sort | uniq -c | awk '{printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++)    {printf("*")}; print ""}'`
RUN_AS=`whoami`
RESULT=`sftp $USER@$HOST <<EOF
FILE=ARG$(date '+%Y%m%d').txt
cd /998979/DES
if [ -e $FILE ]; then
put $FILE
EOF`

echo $CONNECTION "Connection to network is established."

ls | xargs wc -wl for file in *; echo $FILE done  
if [ $? -eq 0 ]; then
echo "$RESULT" "Transfer of file failed. `date`"
SBJ="Transfer of file failed `date`"
fi
echo "$RESULT" "Transfer OK"
if [ $? -eq 0 ]; then
SBJ="Transfer OK. `date`"
echo "$RESULT" "Transfer OK"
fi
if \[ ! -s ${FILE} \]; then
echo "File: ${FILE} is not present or a ZERO byte file"
SBJ="Failed to upload. Zero bytes in file. `date`" # zero bytes sent
fi
if [ -a $FILE ]; then
echo "$RESULT" "No such file or directory"
SBJ="No such file or directory. `date`"
fi

BODY="Process Report....... 

SRC SERVER:`hostname` 
DST SEVER: TESTSERVER
SCRIPT: /usr/local/bin/put.sh
RUN AS: "$RUN_AS" 

RESULT: "$RESULT" "$FILE"

CONNECTION: "$CONNECTION" 

FILENAME: "$FILE" 

BYTES: "$BYTES" 
DATE/TIME: `date`"

echo "$BODY" | mail -s "$SBJ" "$RECIP"

最佳答案

您可以使用 /bin/sh -xv yourshellscript.sh 来了解正在发生的事情。

您可以使用 logger 将重要消息记录到系统日志中

关于linux - Bash 错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508637/

相关文章:

linux - 在 gnu/linux 解压缩中可以抑制 "excluded filename not matched"警告吗?

linux - 递归删除每个目录中除一定数量外的所有文件

bash - 在 bash 脚本中使用 expr 时 hadoop 流式传输出错

linux - 带有特殊字符的 sed

python - 如何在 ubuntu 的 cronjob 中运行 pipenv?

bash - `M-x term' 在 MS Windows 上使用 Emacs : error Spawning child process: invalid argument

c - 在 Windows 上格式化文件

linux - 通过 MAC 地址检查许多蓝牙设备的快速方法

Java:如何让 File.listOfFiles 在 Linux 上非递归工作?

bash - 寻找大文件的 uniq -c 替代品