|
我写了一个系统脚本,telnet localhost 一个端口,之后把数据写入到数据库中最后通过php调用数据库显示在页面上。
但是发现一个问题,如果在系统上sh 此脚本,那么一切正常,虽然有出现Connection closed by foreign host. 但是还是能够正常grep到所有列表,并且写入数据库中。
但是如果通过crond定时执行,或者通过php页面执行此脚本。因为telnet会用到grep过滤,所以会不规则在查询中出现 Connection closed by foreign host. 造成数据中断,不能够完整的得到所有信息。
请大家帮忙! 感谢。。
脚本如下
telnet localhost 15001|grep sf|grep online|sort -u > /var/log/sflog
cat /var/log/sflog|awk '{if ($3=="online") print "|"$1"|:|"$2"|:|"$3"|:|"$4"|:|"$5"|:|"$6"|:|"$7"|:|"$8"|"}' > /usr/local/mysql/var/telnet/telnet_sf
chmod 777 /usr/local/mysql/var/telnet/telnet_sf
echo "use telnet;" > /home/mysql_sf.sql;
echo "delete from telnetlog_sf;" >> /home/mysql_sf.sql;
echo "LOAD DATA INFILE 'telnet_sf' INTO TABLE telnetlog_sf FIELDS TERMINATED BY ':' ENCLOSED BY '|' LINES TERMINATED BY '\n';" >> /home/mysql_sf.sql;
mysql -u root < /home/mysql_sf.sql
date > /home/sf.txt |
|