我目前有一个SFTP脚本,它通过每天在cron上运行的SSH将最新版本的文件上传到服务器。但是我总是收到这样的电子邮件(我将服务器更改为example.com fyi)
/etc/cron.daily/backup:
Connected to example.com.
Connected to example.com.
脚本的相关部分如下所示:
sftp -o "IdentityFile=~/.ssh/backup" -q backup@example.com > /dev/null << COMMANDS
cd weekly
put /srv/backups/daily/$INSTANCE-$(date +%Y%m%d).tgz
quit
COMMANDS
它执行了两次,因为它在for循环中并用两个不同的名称替换$INSTANCE
变量,因此cron中有两个Connected to example.com.
消息。
我不想将所有内容打印到/dev/null
,因为我想在我的电子邮件中收到错误。我能想到的是通过管道输入grep和greping for error或failure或者其他东西。这是唯一可能的选择吗?
任何帮助都会很棒!
答案 0 :(得分:1)
我建议查看loglevel的选项:
LogLevel的
Gives the verbosity level that is used when logging messages from ssh. The possible values are: QUIET, FATAL, ERROR, INFO, VER- BOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. The default is INFO. DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher levels of verbose output
我不能肯定地说这会100%解决你的问题,但默认是信息(报告连接和登录失败作为公共反馈)。将日志级别移动到FATAL只会显示FATAL消息。
希望这可以帮助你,它在ssh_config(5)手册页中。
答案 1 :(得分:0)
此选项可能有帮助:
-q Quiet mode: disables the progress meter as well as warning and diagnostic messages from ssh(1).