Eräskripti - Siirrä tiedostot kohteeseen% date% \ t
- Ratkaisu
- Huomautus
Olen yrittänyt tehdä yksinkertaisen komentosarjan luodaksesi tietokannan varmuuskopiot ja siirtää ne päivämäärän mukaan nimettyyn kansioon ja alikansioon ajan mukaan. Tätä olen tähän mennessä tehnyt:
---
@echo pois@echo Palvelimen varmuuskopiointi1
mysqldump -A -Q -R-c -e -lock-tables = FALSE -uXXXX -pXXXX -hX.XX1> c: \ t
@echo Palvelimen2 varmuuskopiointi
mysqldump -A -Q -R-c -e -lock-tables = FALSE -uXXXX -pXXXX -hX.XX2> c:
@echo Palvelimen3 varmuuskopiointi
mysqldump -A -Q -R-c -e -lock-tables = FALSE-uXXXX -pXXXX -hX.XX3> c:
set folderdate =% date: ~ 7, 2% -% date: ~ 4, 2% -% date: ~ 10, 4%
mkdir c:% mapdate%
set foldertime =% aika: ~ 0, 2% -% aika: ~ 3, 2%
mkdir c:% mapdate%% kansioajan%
Siirrä c: varmuuskopiointi * sql c:% mapdate%% foldertime%
---
Minulla on tämä ajoitus joka 12 tunnin välein kello 8.00. Vaikka 8PM: n juokseva erä onnistuu, 8AM-tiedostot pysyvät liikkumattomina. Itse asiassa AM-kansiossa luodaan kansio, joka on kansiosta poistettujen kansioiden ja luotujen mutta siirrettyjen tiedostojen vieressä olevien sivustojen ulkopuolella.
Ja vielä, 8 sekunnissa kaikki toimii kuin viehätys. Oletettavasti tämä liittyy 24 tunnin käyttämiseen, koska kansiot ovat nimiä 24 tunnin aikana, kun taas XP käyttää AM / PM: ää "muokatulla" sarakkeella. En näe mitään logiikkaa, joka aiheuttaisi tämän tapahtuvan tavalla, mutta toivon, että joku voi osoittaa minulle oikeaan suuntaan.
Ratkaisu
Lisää seuraavat rivit erätiedostoon:asetettu DD =% DATE: ~ 0, 2%asetettu MM =% DATE: ~ 3, 2%
aseta YY =% DATE: ~ 8, 2%
asettaa YYYY =% DATE: ~ 6, 4%
asetettu HH =% TIME: ~ 0, 2%
aseta MN =% TIME: ~ 3, 2%
Voit nyt merkitä ne yhteen missä tahansa muodossa, johon haluat luoda päivitetyn kansion nimen, esim.
asettaa FOLDER =% VVVV% -% MM% -% DD%
echo% FOLDER% antaa sinulle nyt 2009-03-10
Suosittelen, että käytät tätä käänteisen päivämäärän muotoa, kun se lajitellaan paremmin.
Poista tila rivin lopussa SET YYYY =% DATE: ~ 10, 4%