2017-07-12 8 views
0

カールしてメッセージを送信するbashスクリプトからバックアップサイズの概要を毎週送信しようとしています。 findコマンドは、常にコマンドラインでfindコマンドを実行してこの応答でjsonへのコマンド出力を含める

find: paths must precede expression: globals-only.7z 
    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression] 
    { 
     "FromEmail":"[email protected]", 
     "FromName":"Backup Notification", 
     "Recipients": [ 
     { 
     "Email":"[email protected]" 
     } 
     ], 
     "Subject":"[MYLOCAL] Backup overview", 
     "Text-part":"Backup on MYLOCAL weekly overview\n\n \n" 
    } 

を返し

echo $(curl -s \ 
    -X POST \ 
    --user "aasdfasdfbc:4adgadfgsdfg" \ 
    https://api.mailjet.com/v3/send \ 
    -H "Content-Type: application/json" \ 
    -d '{ 
    "FromEmail":"[email protected]", 
    "FromName":"Backup Notification", 
    "Recipients": [ 
     { 
     "Email":"[email protected]" 
     } 
    ], 
    "Subject":"['"$host"'] Backup overview", 
    "Text-part":"Backup on '"$host"' weekly overview\n\n '"$(find /tmp/backup/2017-07-12/ -maxdepth 1 -type f -exec ls -hls {} \; | awk '{ printf "%-40s %30s\n", $10, $6 }')"'\n" 
    }') 

しかし、予想通り、それは

# find /tmp/backup/2017-07-12/ -name '*.7z' -exec ls -hls {} \; | awk '{ printf "%-40s %30s\n", $10, $6 }' 
/tmp/backup/2017-07-12/globals-only.7z        7.3K 
/tmp/backup/2017-07-12/auth.7z          759 

どのように私は素敵なフォーマットされた表を含めることができ、すべてを返しますメッセージに?

答えて

0

curl呼び出しとそれ以降のコマンドラインで同じfindという表現を使用していません。また、必要がない。ls & awk

であなたの完全なコマンド置換を交換してみてください:

find /tmp/backup/2017-07-12/ -name '*.7z' -printf "%-40P %30s\n" 

読みやすくするために、あなたは変数にそれを保存することができ、およびように使用:

output=$(find /tmp/backup/2017-07-12/ -name '*.7z' -printf "%-40P %30s\n") 
echo $(curl -s \ 
    -X POST \ 
    --user "aasdfasdfbc:4adgadfgsdfg" \ 
    https://api.mailjet.com/v3/send \ 
    -H "Content-Type: application/json" \ 
    -d '{ 
    "FromEmail":"[email protected]", 
    "FromName":"Backup Notification", 
    "Recipients": [ 
     { 
     "Email":"[email protected]" 
     } 
    ], 
    "Subject":"['"$host"'] Backup overview", 
    "Text-part":"Backup on '"$host"' weekly overview\n\n '"$output"'\n" 
    }') 
+0

が、その後の概要と電子メールは次のようです:毎週の概要のバックアップ globals-only.7z 744auth.7z 743 – sCHween

+0

@sCHween、申し訳ありませんが、どういうわけか 'printf'から書式を削除しました。更新された回答を今すぐお試しください。 – randomir

+0

@sCHween、これにはどんな運がありますか? – randomir

関連する問題