我試圖記錄命令的輸出:將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我不太確定。我如何發現?對不起,如果這是一個非常基本的問題,但有點新。 –