最終更新日: 2010-04-11
ちょっとした情報であれば、コマンドラインから、
% echo "$information" | logger -h $host -p $priority
% wget -O - -q "http://${HTTP_HOST}${SCRIPTNAME}?${QUERY_STRING}"
とすれば送ることが可能です。
でも、送りたい情報が長くなったら?
#! /bin/sh
# 送信先の設定 (適当に設定してください)
http_host="host-to-send"
script_name="/path/to/your/script.cgi"
export LANG=C
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
# 一時ファイル
temp=/tmp/xxx.$$
trap 'rm -f $temp*; exit 1' 1 2 15 # clean up files
# 入力を集めてエンコードする
cat "$@" > $temp.1
openssl base64 < $temp.1 > $temp.2
# POSTメソッドで送信
wget -O - -q --post-file=$temp.2 "http://${http_host}${script_name}"
# 後始末
rm -f $temp*
exit 0
# EOF
#! /bin/sh # 受信データを置く場所 (要設定) result=/path/to/save/result export LANG=C export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin # 一時ファイル temp=/tmp/xxx.$$ trap 'rm -f $temp*; exit 1' 1 2 15 # clean up files # 応答メッセージ echo 'Content-type: text/plain' echo '' # 入力を収集してデコード cat > $temp.1 openssl base64 -d < $temp.1 > $result # 後始末 rm -f $temp* exit 0 # EOF