2017-02-22 61 views
0

我從rsync的cronjobs收到很多郵件。我累了,像這樣的包裝腳本忽略它:如何忽略關於消失文件的rsync警告?

#!/bin/bash 
/usr/bin/rsync "[email protected]" 
e=$? 
if test $e = 24; then 
    exit 0 
fi 
exit $e 

並保存它像一個在/ usr/bin中/ rsync的-no24

在那之後,我改變了我的劇本的cronjob:

#!/bin/bash 

SOURCE_BASE="/var/www/" 
TARGETS="server30" 
TARGET_DIR="/var/www/" 
RSYNC_BIN="/usr/bin/rsync-no24" 
RSYNC_OPTIONS="-aqqq" 

/usr/bin/find ${SOURCE_BASE}/typo3temp ! -user www-data -exec chown -R www-data:www-data {} \; 

#for SOURCE_DIR in fileadmin uploads typo3temp 
#do 
     for TARGET_HOST in ${TARGETS} 
     do 
       ${RSYNC_BIN} ${RSYNC_OPTIONS} ${SOURCE_BASE}/${SOURCE_DIR} ${TARGET_HOST}:${TARGET_DIR}/ 
     done 
#done 

但無論如何,我還是從cron獲得郵件如

文件已經消失: 「/無功/網絡/階段2/typo3temp/tx_nc staticfilecache/OnlineBackup/index33.html.5「

如何忽略這樣的消息?包裝腳本可能有問題?

非常感謝。

+0

之間嘗試重定向'stderr'到'/dev/null'。 – alvits

+0

但是在這種情況下,所有的錯誤都會被重定向到/ dev/null – mikonoid

回答

1

替換您/usr/bin/rsync-no24這個:

#!/bin/bash 
(rsync "[email protected]"; if [ $? == 24 ]; then exit 0; else exit $?; fi) 2>&1 | grep -v 'vanished' 

source

(在一個側面說明,我不認爲有什麼區別RSYNC_OPTIONS="-aqqq"RSYNC_OPTIONS="-aq"