Autor Wątek: Prosty skrypt archiwizujący  (Przeczytany 38847 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10695
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: Prosty skrypt archiwizujący
« Odpowiedź #60 dnia: Wrzesień 27, 2016, 21:59:28 »
Używasz jakiś ścieżek względnych wskazujących na 7z.exe, bazę źródłową lub docelową spakowaną?
Polecenie wygląda tak:
osql -U Kopia -P xxxxxxx -S ZZZ-Serwer\Biuro_ZZZ -Q "BACKUP DATABASE ZZZ_ZUS TO DISK = 'R:\Temp\ZUS.bak' WITH FORMAT"
7z a -mx7 \\NAS\archiw\ZZZ_bazy\%date%.zip R:\Temp\ZUS.bak
REM R:\Temp\ZUS.bak

To ostatnie wyremowałem, żeby sprawdzić czy robi się plik .bak. I jak napisałem wyżej robi się.
Nie uruchamia się tylko polecenie od 7z....

Ale jak wywołam cmd ręcznie, to robi do końca prawidłowo.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Prosty skrypt archiwizujący
« Odpowiedź #61 dnia: Wrzesień 27, 2016, 22:46:57 »
Program 7z.exe masz w katalogu, gdzie masz plik cmd?

Jeżeli tak, to czy w zadaniu dopisałeś ścieżkę do tego katalogu (Rozpocznij w: )?
Sławek, Zduńska Wola

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10695
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: Prosty skrypt archiwizujący
« Odpowiedź #62 dnia: Wrzesień 28, 2016, 08:47:35 »
Program 7z.exe masz w katalogu, gdzie masz plik cmd?
Tak

Jeżeli tak, to czy w zadaniu dopisałeś ścieżkę do tego katalogu (Rozpocznij w: )?

Nie, ścieżka jest określona w zakładce Akcje - R:\Temp\Archiwum_ZUS.cmd. A samo wywołanie 7z jest z wnętrza cmd.
Tak jak pisałem wcześniej ręczne uruchomienie cmd powoduje wykonanie kompletu poleceń w nim zawartych.
Dopisałem, zobaczę co z tego wyjdzie.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Prosty skrypt archiwizujący
« Odpowiedź #63 dnia: Wrzesień 28, 2016, 09:18:19 »
Program 7z.exe masz w katalogu, gdzie masz plik cmd?
Tak

Jeżeli tak, to czy w zadaniu dopisałeś ścieżkę do tego katalogu (Rozpocznij w: )?

Nie, ścieżka jest określona w zakładce Akcje - R:\Temp\Archiwum_ZUS.cmd. A samo wywołanie 7z jest z wnętrza cmd.
Tak jak pisałem wcześniej ręczne uruchomienie cmd powoduje wykonanie kompletu poleceń w nim zawartych.
Dopisałem, zobaczę co z tego wyjdzie.

No własnie tutaj może być problem ze ścieżką względną do 7z.

Przy uruchomieniu ręcznym katalog odniesienia to katalog, gdzie jest plik cmd (więc również program 7z).
Przy uruchomieniu z harmonogramu, bez odniesienia skąd ma się uruchamiać zadanie jest uruchamiane z katalogu systemowego, a tam nie ma programu 7z.

Rozwiązań może być kilka:

1. Dopisanie wspomnianej ścieżki uruchomienia w harmonogramie (Rozpocznij w:)
2. Wskazanie ścieżki bezwzględnej w skrypcie do programu 7z
3. Dodanie do zmiennej środowiskowej Path ścieżki do programu 7z
4. Wrzucenie 7z do lokalizacji już ujętej w zmiennej Path
Sławek, Zduńska Wola

Forum Użytkownikow Subiekt GT

Odp: Prosty skrypt archiwizujący
« Odpowiedź #63 dnia: Wrzesień 28, 2016, 09:18:19 »