Javascript BASH,创建一个脚本来执行查询,并将排序后的数据附加到.htm文件中

Javascript BASH,创建一个脚本来执行查询,并将排序后的数据附加到.htm文件中,javascript,html,mysql,bash,append,Javascript,Html,Mysql,Bash,Append,我想创建一个脚本,在本地数据库中执行一个准备好的语句。 所有返回的数据必须排序并保存在特定的.htm文件中 脚本必须能够每小时运行一次,并替换现有的htm 该脚本将由bin/bash在Ubuntu机器上每小时执行一次 到目前为止,我有这个脚本,它不是由我创建的。也许我们可以修改它,让它每60分钟运行一次 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import

我想创建一个脚本,在本地数据库中执行一个准备好的语句。 所有返回的数据必须排序并保存在特定的.htm文件中

脚本必须能够每小时运行一次,并替换现有的htm

该脚本将由bin/bash在Ubuntu机器上每小时执行一次

到目前为止,我有这个脚本,它不是由我创建的。也许我们可以修改它,让它每60分钟运行一次

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javolution.text.TextBuilder;

public class ClanList
{
       private TextBuilder _clanList = new TextBuilder();

       public ClanList(int type)
       {
               loadFromDB(type);
       }

       private void loadFromDB(int type)
       {
               Connection con = null;
               int stpoint = 0;
               int results = 20;
               String castlename = "";
               String allystatus = "";
               String leadername = "";
               for (int count = 1; count != type; count++)
               {
                       stpoint += 20;
               }

               try
               {
                       con = L2DatabaseFactory.getInstance().getConnection();
                       PreparedStatement statement = con.prepareStatement("SELECT clan_id, clan_name, ally_name, leader_id, lan_level, reputation_score, hasCastle, ally_id FROM clan_data ORDER BY `clan_level` desc Limit " + stpoint + ", " + results);
                       ResultSet result = statement.executeQuery();
                       int pos = 0;

                       while (result.next())
                       {
                               int clanid = result.getInt("leader_id");
                               String clan = result.getString("clan_name");
                               String ally = result.getString("ally_name");
                               int clanleader = result.getInt("leader_id");
                               int clanlevel = result.getInt("clan_level");
                               int reputation = result.getInt("reputation_score");
                               int hascastle = result.getInt("hasCastle");
                               int allyid = result.getInt("ally_id");
                               if (allyid != 0)
                               {
                                       if (allyid == clanid)
                                               allystatus = "Alliance Leader";
                                       allystatus = "Affiliated Clan";
                               }
                               else
                               {
                                       allystatus = "-";
                                       ally = "[no-ally]";
                               }
                               if (hascastle != 0)
                               {
                                       PreparedStatement statement2 = con.prepareStatement("SELECT name FROM castle WHERE id=" + hascastle);
                                       ResultSet result2 = statement2.executeQuery();
                                       if (result2.next())
                                               castlename = result2.getString("name");
                                       result2.close();
                                       statement2.close();
                               }
                               else
                                       castlename = "[none]";
                               PreparedStatement statement3 = con.prepareStatement("SELECT char_name FROM characters WHERE harId=" + clanleader);
                               ResultSet result3 = statement3.executeQuery();

                               if (result3.next())
                                       leadername = result3.getString("char_name");
                               result3.close();
                               statement3.close();
                               pos++;
                               addClanToList(pos, clan, ally, leadername, clanlevel, reputation, castlename, allystatus);
                       }
                       result.close();
                       statement.close();
               }
               catch (Exception e)
               {
                       e.printStackTrace();
               }
               finally
               {
                       L2DatabaseFactory.close(con);
               }
       }

       private void addClanToList(int pos, String clan, String ally, String leadername, int clanlevel, int reputation, String castlename, String allystatus)
       {
               _clanList.append("<table border=0 cellspacing=0 cellpadding=2 width=760>");
               _clanList.append("<tr>");
               _clanList.append("<td FIXWIDTH=5></td>");
               _clanList.append("<td FIXWIDTH=20>" + pos + "</td>");
               _clanList.append("<td FIXWIDTH=90>" + clan + "</td>");
               _clanList.append("<td FIXWIDTH=90>" + ally + "</td>");
               _clanList.append("<td FIXWIDTH=85>" + leadername + "</td>");
               _clanList.append("<td FIXWIDTH=45 align=center>" + clanlevel + "</td>");
               _clanList.append("<td FIXWIDTH=70 align=center>" + reputation + "</td>");
               _clanList.append("<td FIXWIDTH=50 align=center>" + castlename + "</td>");
               _clanList.append("<td FIXWIDTH=70 align=center>" + allystatus + "</td>");
               _clanList.append("<td FIXWIDTH=5></td>");
               _clanList.append("</tr>");
               _clanList.append("</table>");
               _clanList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
       }

       public String loadClanList()
       {
               return _clanList.toString();
       }
}
导入java.sql.Connection;
导入java.sql.PreparedStatement;
导入java.sql.ResultSet;
导入javolution.text.TextBuilder;
公共类宗族列表
{
私有TextBuilder_clanList=新TextBuilder();
公共列表(整型)
{
loadFromDB(类型);
}
私有void loadFromDB(int类型)
{
连接con=null;
int stpoint=0;
int结果=20;
字符串castlename=“”;
字符串allystatus=“”;
字符串leadername=“”;
for(int count=1;count!=type;count++)
{
stpoint+=20;
}
尝试
{
con=L2DatabaseFactory.getInstance().getConnection();
PreparedStatement=con.prepareStatement(“按“氏族级别”“描述限制”+stpoint+,“+结果”从氏族数据顺序中选择氏族id、氏族名称、盟友名称、领袖id、局域网级别、声誉分数、Hascatle、盟友id);
ResultSet result=statement.executeQuery();
int pos=0;
while(result.next())
{
int clanid=result.getInt(“leader_id”);
String clan=result.getString(“clan_name”);
字符串ally=result.getString(“ally_name”);
int clanleader=result.getInt(“leader_id”);
int clanlevel=result.getInt(“clan_level”);
int声誉=result.getInt(“声誉分数”);
int hascastle=result.getInt(“hascastle”);
int allyid=result.getInt(“ally_id”);
如果(allyid!=0)
{
if(allyid==clanid)
allystatus=“联盟领袖”;
allystatus=“附属氏族”;
}
其他的
{
allystatus=“-”;
ally=“[没有盟友]”;
}
if(hascatle!=0)
{
PreparedStatement语句2=con.prepareStatement(“从castle中选择名称,其中id=“+hascastle”);
ResultSet result2=语句2.executeQuery();
if(result2.next())
castlename=result2.getString(“名称”);
结果2.close();
语句2.close();
}
其他的
castlename=“[none]”;
PreparedStatement语句3=con.prepareStatement(“从harId=“+clanleader”)中的字符中选择字符名称);
ResultSet result3=语句3.executeQuery();
if(result3.next())
leadername=result3.getString(“char_name”);
结果3.close();
语句3.close();
pos++;
addClanToList(位置、氏族、盟友、领袖姓名、氏族等级、声誉、城堡名称、allystatus);
}
result.close();
语句。close();
}
捕获(例外e)
{
e、 printStackTrace();
}
最后
{
L2DatabaseFactory.关闭(con);
}
}
私有void addClanToList(int pos、String clan、String ally、String leadername、int clanlevel、int声誉、String castlename、String allystatus)
{
_列表。附加(“”);
_列表。附加(“”);
_列表。附加(“”);
_clanList.append(“+pos+”);
_clanList.append(“+clan+”);
_附加(“+ally+”);
_附加(“+leadername+”);
_clanList.append(“+clanlevel+”);
_clanList.append(“+声誉+”);
_附加(“+castlename+”);
_附加(“+allystatus+”);
_列表。附加(“”);
_列表。附加(“”);
_列表。附加(“”);
_列表。附加(“”);
}
公共字符串loadClanList()
{
返回_clanList.toString();
}
}

我是编程新手,因此我不知道什么语言可以使这更容易。

这不是一个java源代码脚本。如果你需要的话,你可以编译并运行它,不管你想多频繁。哦,是的,它是需要编译的程序的一部分。沿袭2服务器模拟器。但这并不是我想要的。至少不完全如此。