Jak zaplanować zadanie do uruchomienia w każdy dzień tygodnia, z wyjątkiem pierwszego dnia miesiąca

1

Jak zaplanować zadanie do uruchomienia w każdy dzień tygodnia, z wyjątkiem pierwszego dnia miesiąca?

Aby uniknąć problemu z XY: buduję system tworzenia kopii zapasowych, który tworzy kopie zapasowe pierwszego dnia każdego miesiąca i codziennych kopii zapasowych w każdy dzień tygodnia. Mam trzy zadania z trzema programami:

  1. Miesięczna kopia zapasowa - 1 każdego miesiąca
  2. Dzienna kopia zapasowa - mon-fri
  3. Wyczyść stare kopie zapasowe - codziennie

Przechowuję X miesięcznych kopii zapasowych i Y codziennych kopii zapasowych. Jeśli pierwsze zdarzy się w dzień powszedni, otrzymam dwie kopie zapasowe bardzo blisko siebie i chcę uniknąć kosztu dysku twardego

Platformy Win 7, Win Server 2008 i Win Server 2012.

Nenotlep
źródło
Nie możesz sprawdzić, czy jest to pierwszy z miesięcy w dziennym skrypcie / programie.
TobiMarg

Odpowiedzi:

1

Uzyskaj zaplanowane zadanie, aby uruchomić skrypt wsadowy. Możesz tam umieścić

SET DATE=%DATE%
SET DAY=%DATE:0,2%

Spowoduje to ustawienie zmiennej środowiskowej DZIEŃ na pierwsze dwa znaki daty, która (w moim systemie) ma postać dd / mm / rrrr. (Oczywiście sprawdź to najpierw używając echo %DATE%.)

Następnie możesz zamknąć skrypt, jeśli DAY jest równe 01, i uruchomić program do tworzenia kopii zapasowych, jeśli nie jest.

benshepherd
źródło