|
|
|
|
Strumenti |
22-05-2009, 08:50 | #1 |
Senior Member
Iscritto dal: May 2000
Messaggi: 12144
|
migrazione fileserver: batch e mantenimento permission
Ciao a tutti
Sto migrando alcuni fileserver e il problema principale è il mantenimento delle permission sulle cartelle. Ogni server ha una sola cartella condivisa (everyone / full control) al cui interno ci sono diverse cartelle opportunamente permissionate. Tralasciando tools commerciali e tralasciando FSMT (che per qualche oscuro motivo non funziona), che io sappia rimane solo robocopy. Finora sono riuscito a produrre questo: Codice:
robocopy c:\documenti\nome_cartella \\nome_server\dati\nome_cartella /E /W:1 /R:10 /COPY:DATSO /LOG:nome_cartella.txt Codice:
robocopy c:\documenti \\nome_server\dati /E /W:1 /R:10 /COPY:DATSO /LOG:log.txt Ora, cosa fareste? Qualcuno mi può indicare un prodotto free che faccia al caso mio, se esiste? In alternativa, visto che comunque robocopy funziona, come posso fare per avere un batch generico che ricavi l'elenco delle cartelle persenti, lo salvi da qualche parte e poi lanci robocopy, con le opzioni sopra indicate, per ogni cartella rilevata? cd\ cd documenti dir /ad /b > elenco_cartelle.txt e poi? Come lo passo a robocopy? Spero di essere stato chiaro Ultima modifica di Stigmata : 22-05-2009 alle 10:08. |
22-05-2009, 14:26 | #2 |
Senior Member
Iscritto dal: Nov 2000
Città: Tokyo
Messaggi: 3008
|
1a Prova che farei è mappare la destinazione come drive locale
2a Controlla che l'utente che utilizzi si anche l'owner di tutti i file i subdirectory di origine e che non ci siano files criptati 3a Io non lascerei lo share Everyone full ma Everyone R/W, stesso dicasi per le security, il full a nessuno, ho visto utonti giocare con in permessi e incasinare anche la roba d'altri... |
23-05-2009, 09:19 | #3 |
Junior Member
Iscritto dal: Nov 2002
Messaggi: 3
|
Ciao,
hai provato ad aggiungere l'opzione /Z quando lanci robocopy? Tale opzione dovrebbe proprio tornare utile per le copie via rete. Per quanto riguarda scrivere un batch potresti usare un piccolo script vbs tipo questo : Codice:
'*** VARIABILI Cartella_sorgente = "c:\documenti\" Cartella_destinazione = "\\nome_server\dati\" '************* Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") Dim strDir Set strDir = FSO.GetFolder(Cartella_sorgente) For Each objFolder in strDir.SubFolders Dim NomeFolder NomeFolder = objFolder.Name Dim strShell, WshShell strShell = "robocopy.exe " & Chr(34) & Cartella_sorgente & NomeFolder & Chr(34) & " " & Chr(34) & Cartella_destinazione & NomeFolder & Chr(34) & " /E /Z /W:1 /R:10 /COPYALL /LOG:" & Chr(34) & NomeFolder & ".txt" & Chr(34) Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run strShell,, True Set strShell = Nothing Set WshShell = Nothing Set NomeFolder = Nothing Next Set strDir = Nothing Set FSO = Nothing |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:46.