我试图记录命令的输出:将perl中的STDOUT/STDERR重定向到一个txt文件?
innobackupex --incremental $INC1_BACKUP_FOLDER --incremental-basedir=$BASEDIR_FULL $SLAVE_INFO > $PATH_TO_LOG/log_inc1.txt 2>&1
;
但是它不写入文件而是在STDOUT上打印。
这工作和日志保存至文件:
innobackupex $DB_USER_INFO $FULL_BACKUP_FOLDER $SLAVE_INFO > $PATH_TO_LOG/log_full.txt 2>&1
;
然而,这并没有记录到文件:
innobackupex --incremental $INC1_BACKUP_FOLDER --incremental-basedir=$BASEDIR_FULL $SLAVE_INFO > $PATH_TO_LOG/log_inc1.txt 2>&1
;
我试过其他的解决办法是:
open (INC1_RESULT,">$PATH_TO_LOG/log_inc1.txt");
my $incr1_backup_result = `innobackupex --incremental $INC1_BACKUP_FOLDER --incremental-basedir=$BASEDIR_FULL $SLAVE_INFO`;
print INC1_RESULT $incr1_backup_result;
close INC1_RESULT;
,没有工作或者是因为命令执行完毕后,将只写入文件。我需要在命令运行时停止日志。
你确定它不是写在STDERR呢? – Cfreak
增加了shell&environment标签 – psema4
增加了2>&1缺少的命令。 @Cfreak我不太确定。我如何发现?对不起,如果这是一个非常基本的问题,但有点新。 –