1 protected void Page_Load(object sender, EventArgs e)
2 {
3 UILogic.ClearCache();
4 VPUserInfo userinfo = UILogic.getSession() as VPUserInfo;
5 if (userinfo == null)
6 {
7 //Response.Write("<mce:script type="text/javascript"><!--
8 top.location.href='~/../login.aspx'
9 // --></mce:script>");
10 }
11 else
12 {
13 //if (!Page.IsPostBack)
14 //{
15 System.IO.Directory.CreateDirectory("C://Program Files//MySQL//MySQL Server 5.0//data//vpdata");//在服务器mysql中创建vpdata数据库
16 //}
17 }
18 }
19
20 protected void Backup_Click(object sender, ImageClickEventArgs e)
21 {
22 try
23 {
24 //string filename = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");
25
26 string filePath = "D://web//App_Data";
27 string fileName = filePath + "//vpdata.sql";//备份的文件名称和路径
28 //判断目录是否存在
29 if (!System.IO.File.Exists(fileName))
30 {
31 System.IO.Directory.CreateDirectory(filePath);
32 }
33
34 //构建执行的命令
35 String command = string.Format("mysqldump --quick --host=localhost --default-character-set=latin1 --lock-all-tables --port=3306 --user=root --password=123456 --databases vpdata -R >D://web//App_Data//{0}.sql", "vpdata");
36
37 //获取mysqldump.exe所在路径
38 String appDirecroty = @"C:/Program Files/MySQL/MySQL Server 5.0/bin/";
39
40 StartCmd(appDirecroty, command);
41 ScriptManager.RegisterClientScriptBlock(Backup, GetType(), "yes", "alert('数据库已成功备份到D://web//App_Data//Vpdata文件中')", true);
42 }
43 catch (Exception ex)
44 {
45 ScriptManager.RegisterClientScriptBlock(Backup, GetType(), "no", "alert('数据库备份失败!')", true);
46 }
47 }
48 protected void Restore_Click(object sender, ImageClickEventArgs e)
49 {
50 try
51 {
52
53
54 //构建执行的命令
55 String command = string.Format("mysql --host=192.168.1.10 --default-character-set=latin1 --port=3306 --user=root --password=123456 vpdata <D://web//App_Data//{0}.sql", "vpdata");
56
57 //获取mysql.exe所在路径
58 String appDirecroty = @"C:/Program Files/MySQL/MySQL Server 5.0/bin/";
59
60 StartCmd(appDirecroty, command);
61 ScriptManager.RegisterClientScriptBlock(Restore, GetType(), "yes", "alert('服务器数据库还原成功!')", true);
62 }
63 catch (Exception ex)
64 {
65 ScriptManager.RegisterClientScriptBlock(Restore, GetType(), "no", "alert('数据库还原失败!')", true);
66 }
67 }
68
69 /// <summary>
70 /// 执行Cmd命令
71 /// </summary>
72 /// <param name="workingDirectory">要启动的进程的目录</param>
73 /// <param name="command">要执行的命令</param>
74 public static void StartCmd(String workingDirectory, String command)
75 {
76 Process p = new Process();
77 p.StartInfo.FileName = "cmd.exe";
78 p.StartInfo.WorkingDirectory = workingDirectory;
79 p.StartInfo.UseShellExecute = false;
80 p.StartInfo.RedirectStandardInput = true;
81 p.StartInfo.RedirectStandardOutput = true;
82 p.StartInfo.RedirectStandardError = true;
83 p.StartInfo.CreateNoWindow = true;
84 p.Start();
85 p.StandardInput.WriteLine(command);
86 p.StandardInput.WriteLine("exit");
87 }