none
Problemas com Tarefa de Backup RRS feed

  • Pergunta

  • Olá a todos!

    Tenho um Script de backup para minha base de dados Oracle. Quando clico no arquivo duas vezes e rodo manualmente, tudo ok, o backup é executado e aparece o arquivo backupeado lá na pasta.

    O problema é que uso o gerenciador de tarefas para rodar o script todos os dias. Mas pelo agendador, ele não funciona. O agendador não apresenta logs de erro, diz que a tarefa foi concluída com êxito, mas o arquivo novo não é criado, fica sempre a data do último backup que fiz manualmente.

    Postei no Fórum de Server 2008 e me disseram que podia ser um erro no Script então acabei postando neste fórum. O Script não foi feito por mim, então se alguem puder dar uma dica ou uma sugestão, agradeço muito!

     

    Script:

     

    //script backup DIARIO oracle
    
    //var fileHandle;
    var fso   = new ActiveXObject("Scripting.FileSystemObject");
    var objShell = new ActiveXObject("WScript.Shell");
    
    
    var oExec  = objShell.Run("exp sige/sige@xe file=sige.dmp buffer=32000 log=exporta.log", 1, true);
    
    //WScript.Sleep(350000); // 5 minutos
    //
    //	fileHandle = fso.CreateTextFile("testfile.txt", true); // para saber quando acabaram os 5 minutos
    //	fileHandle.WriteLine("criando arquivo");
    //
    //while (oExec.Status == 0)
    //{
    //	WScript.Sleep(1000); 
    //}
    
    if (fso.FileExists("sige.dmp")) {  
    	if (fso.FileExists("sige_diario.dmp") ) {
    		fso.DeleteFile("sige_diario.dmp");
    	}
    	fso.MoveFile("sige.dmp", "sige_diario.dmp");
    }
    
    
    oExec  = objShell.Run("exp gnfe/gnfe@xe file=gnfe.dmp buffer=32000 log=exportagnfe.log", 1, true);
    if (fso.FileExists("gnfe.dmp")) {  
    	if (fso.FileExists("gnfe_diario.dmp") ) {
    		fso.DeleteFile("gnfe_diario.dmp");
    	}
    	fso.MoveFile("gnfe.dmp", "gnfe_diario.dmp");
    }

    Abraços

     


    MCP / MCDST / MCSA
    Tudo posso naquele que me fortalece!
    quarta-feira, 15 de setembro de 2010 19:55

Todas as Respostas

  • Marcelo,

    A conta que você utiliza para executar o script é a mesma que está configurada na Tarefa?

    Reparei que vc não utiliza o caminho completo dos arquivos (Exemplo: if (fso.FileExists("sige.dmp")) { ). Você pode tentar duas alternativas:

    1) Usar o caminho completo dos arquivos

    2) Nas configurações da tarefa, alterar o caminho onde o script inicia. Quando você executa manualmente (2 cliques) o script considera que vc está na mesma pasta do script, quando você executa pelo agendador de tarefas vc tem que configurar na tarefa onde o script vai iniciar (No 2003 sei que é no campo "Start in", no 2008 acho que é no campo "Location" na aba geral)

     

     

     

     


    Fábio de Paula Junior
    quinta-feira, 16 de setembro de 2010 12:40
    Moderador