在shell的for循环中更新数据库表。sh文件如下
#!/bin/bash
#注意sql语句之前不能有空格,否则会出错
for var in `ls /root/zhaolu`;do
size=`du -sb "/root/zhaolu/"$var | awk '{ print $1}'`
echo "filesize=$size" > /root/tenateSpaceFiles/${var}.properties
/usr/local/mysql/bin/mysql -h 192.168.0.7 -u root -pmysql <<EOF
use quotamanage
update tenantspace set fileusedsize='$size' where tenantname='$var';
EOF
done
exit 0
几点说明:
``表示调用linux命令
' '表示字符串
在mysql中的语句要符合mysql的语法。
参看资料:http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
http://dev.mysql.com/doc/refman/5.1/zh/