0

私はいくつかのファイルをコピーしているので、結果はどちらの方法でもかまいません。

例えば:

>cp -R bin/*.ksh ../backup/

>cp bin/file.sh ../backup/bin/

上記のコマンドを実行すると、コピーされます。正常にコピーされた場合、システムからの応答はありません。そうでない場合は、端末自体にエラーまたは応答を出力しますcp: file.sh: No such file or directory

ここで、エラー メッセージをログに記録するか、成功した場合はカスタム メッセージをファイルに記録したいと考えています。どのようにできるのか?

本当にどんな助けでも。

ありがとう

4

1 に答える 1

2

これをシェルスクリプトで書いてみてください:

#these three lines are to check if script is already running.
#got this from some site don't remember :(

ME=`basename "$0"`;
LCK="./${ME}.LCK";
exec 8>$LCK;

LOGFILE=~/mycp.log

if flock -n -x 8; then

    # 2>&1 will redirect any error or other output to $LOGFILE

    cp -R bin/*.ksh ../backup/ >> $LOGFILE 2>&1

    # $? is shell variable that contains outcome of last ran command
    # cp will return 0 if there was no error
    if [$? -eq 0]; then
       echo 'copied succesfully' >> $LOGFILE
    fi
fi
于 2011-07-11T04:32:46.800 に答える