Paketni skript - premaknite datoteke na datum% \ t

  • Rešitev
  • Opomba

Poskušal sem narediti preprost paket za ustvarjanje varnostnih kopij baze podatkov in jih premakniti v mapo, imenovano po datumu, in podmapo po času. To sem do sedaj imel:

---

 @echo off

@echo Backup Up Server1

mysqldump -A -Q -R -c -e --lock-tables = FALSE -uXXXX -pXXXX -hX.XX1> c: varnostna kopija \ t

@echo Varnostno kopiranje strežnika2

mysqldump -A -Q -R -c -e --lock-tables = FALSE -uXXXX -pXXXX -hX.XX2> c: varnostna kopija \ t

@echo Backup Up Server3

mysqldump -A -Q -R -c -e --lock-tables = FALSE-uXXXX -pXXXX -hX.XX3> c: varnostna kopija \ t

datum: ~ 7, 2% -% datum: ~ 4, 2% -% datum: ~ 10, 4%

mkdir c: varnostna kopija \ t

nastavi foldertime =% čas: ~ 0, 2% -% čas: ~ 3, 2%

mkdir c: varnostna kopija% folderdate% \ t

premakni c: varnostna kopija *. sql c: varnostna kopija% folderdate% \ t

---

Imam načrtovano, da teče vsakih 12h od 20h. Medtem ko je paket, ki teče ob 8. uri, uspešen, datoteke 8AM ostanejo nespremenjene. Dejstvo je, da je mapa »foldertime« ustvarjena izven mape »folderdate« in mesta poleg datotek, ki so bile ustvarjene, vendar niso bile premaknjene.

In vendar pri 8Pm vse deluje kot čar. Verjetno je to povezano z uporabo 24-urnega časa, saj so mape imenovane v 24 urah, medtem ko XP uporablja AM / PM v 'spremenjenem' stolpcu. Ne vidim nobene logike, ki bi povzročila, da bi se to zgodilo tako, kot se dogaja, vendar upam, da me lahko nekdo usmeri v pravo smer.

Rešitev

Vstavite naslednje vrstice v paketno datoteko:

 nastavite DD =% DATE: ~ 0, 2%

nastavi MM =% DATE: ~ 3, 2%

nastavite YY =% DATE: ~ 8, 2%

nastavi YYYY =% DATE: ~ 6, 4%

nastavi HH =% TIME: ~ 0, 2%

nastavi MN =% TIME: ~ 3, 2%

Zdaj jih lahko združite v poljubni obliki, ki jo želite ustvariti z imenom z datotekami, npr.

nastavi FOLDER =% LLLL% -% MM% -% DD%

echo% FOLDER% vam bo zdaj dal 2009-03-10

Priporočam, da uporabite to obliko obrnjenega datuma, saj je boljša.

Odstranite prostor na koncu vrstice SET YYYY =% DATE: ~ 10, 4%

Opomba

Hvala Robu za ta nasvet na forumu.
Prejšnji Članek Naslednji Članek

Top Nasveti