Guest User

Untitled

a guest
Nov 6th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. Backup = {
  2. shell: WScript.CreateObject("WScript.Shell"),
  3. base: "C:/BACKUP/",
  4. username: "USERNAME",
  5. hostname: "HOST",
  6. password: "PASSWORD",
  7. type: {
  8. postgreSQL: function(){
  9. var shell = Backup.shell;
  10. var path = "c:/program files/postgresql/9.6/bin/";
  11. var cmd = shell.Exec("\"" + path + "psql.exe\" --command=\"SELECT datname FROM pg_database WHERE datistemplate = false\" --username=" + Backup.username + " --host=" + Backup.hostname + " --no-password postgres");
  12. var input = cmd.StdOut.ReadAll().split(/[\r\n\s]+/).slice(2, -2);
  13. for(var i = input.length; i--; )
  14. shell.Exec("\"" + path + "pg_dump.exe\" --file=" + Backup.base + "postgre-sql/" + input[i] + ".sql --clean --no-owner --host=" + Backup.hostname + " --username=" + Backup.username + " --no-password " + input[i]);
  15. },
  16. sqlServer: function(){
  17. var shell = Backup.shell;
  18. var path = "c:/program files/microsoft sql server/client sdk/odbc/110/tools/binn/";
  19. var sql = "USE MASTER\n\
  20. DECLARE @lvchNomeBanco VARCHAR(200)\n\
  21. DECLARE @lintErros INTEGER\n\
  22. DECLARE @lintCont INTEGER\n\
  23. DECLARE @strSQL VARCHAR(2000)\n\
  24. DECLARE @lvchDiretorio VARCHAR(200)\n\
  25. SET @lvchDiretorio = '" + Backup.base + "sql-server/'\n\
  26. SET @lintCont = 0\n\
  27. SET @lintErros = 0\n\
  28. DECLARE curBancos CURSOR FAST_FORWARD\n\
  29. FOR SELECT NAME FROM SYSDATABASES WHERE DBID > 6\n\
  30. OPEN curBancos\n\
  31. FETCH NEXT FROM curBancos\n\
  32. INTO @lvchNomeBanco\n\
  33. WHILE @@FETCH_STATUS = 0\n\
  34. BEGIN\n\
  35. SET @strSQL = 'BACKUP DATABASE [' + @lvchNomeBanco + '] TO DISK=N''' + @lvchDiretorio + @lvchNomeBanco + '.bak'' WITH INIT , NOUNLOAD , NAME = N''' + @lvchNomeBanco + '.bak'', SKIP , STATS = 10, NOFORMAT'\n\
  36. EXEC(@strSQL)\n\
  37. IF @@ERROR <> 0\n\
  38. SET @lintErros = @lintErros + 1\n\
  39. SET @lintCont = @lintCont + 1\n\
  40. FETCH NEXT FROM curBancos INTO @lvchNomeBanco\n\
  41. END\n\
  42. CLOSE curBancos\n\
  43. DEALLOCATE curBancos\n\
  44. GO\n\
  45. QUIT\n";
  46. var cmd = shell.Exec("\"" + path + "sqlcmd.exe\"");
  47. cmd.StdIn.Write(sql.split("\n").join("\r\n"));
  48. },
  49. mySQL: function(){
  50. var shell = Backup.shell;
  51. var path = "c:/program Files/mysql/mysql server 5.7/bin/";
  52. var cmd = shell.Exec("\"" + path + "mysql.exe\" --execute=\"SHOW DATABASES\" --user=" + Backup.username + " --host=" + Backup.hostname + " --password=" + Backup.password);
  53. var input = cmd.StdOut.ReadAll().split(/[\r\n\s]+/).slice(1);
  54. for(var i = input.length; i--; )
  55. if(!input[i].match(/^(?:mysql|information_schema)$/))
  56. shell.Exec("\"" + path + "mysqldump.exe\" --disable-keys --extended-insert --host=" + Backup.hostname + " --password=" + Backup.password + " --result-file=" + Backup.base + "/mysql/" + input[i] + ".sql --user=" + Backup.username + " " + input[i]);
  57. }
  58. },
  59. run: function(){
  60. for(var n in this.type)
  61. this.type[n]();
  62. }
  63. };
  64.  
  65. Backup.run();
Add Comment
Please, Sign In to add comment