Forum

Bat dosyası ile yed...
 
Bildirimler
Hepsini Temizle

Bat dosyası ile yedekleme almak.

15 Yazılar
7 Üyeler
0 Likes
3,680 Görüntüleme
(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Merhaba,


Domain yapısı olan bit network üzerinde 10.x.x.x makinamızın lokalinde (c:\klasör_ismi\*.pdf) bulunan tüm pdfleri farklı iki ayrı dizine taşıma işlemi yapacak bir batch file hazırlamak istiyoruz. Komut makina üzerinden çalıştırılacak. Bu konuda yardımlarınızı rica ederim.


Dizinlerden biri server storage'i üzerinde diğeri ise direk NAS'tadır.

 
Gönderildi : 19/07/2012 18:33

ibrahim yildiz
(@ibrahimyildiz)
Gönderiler: 4301
Co-Helper
 

http://www.cozumpark.com/forums/thread/123938.aspx

forumda açılan benzeri konulardan faydalanabilirsiniz.

'balık vermez, nasıl tutulabildiğine yönlendirir'
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız. Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz. Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 19/07/2012 18:46

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Burayı inceler misiniz.

xcopy /e /v /y E:\Agent \\NTSERVER\NTServerC\KevinBackup\Agent

xcopy /e /v /y E:\Agent M:\Backup\Agent
xcopy /e /v /y J:\Netscape\Users\KOB1 \\NTSERVER\NTServerC\KevinBackup\Netscape

xcopy /e /v /y J:\Netscape\Users\KOB1 M:\Backup\Netscape
xcopy /e /v /y F:\MyDocuments \\NTSERVER\NTServerC\KevinBackup\MyDocuments
xcopy /e /v /y F:\MyDocuments M:\Backup\MyDocuments
xcopy /e /v /y F:\Eudora \\NTSERVER\NTServerC\KevinBackup\Eudora
xcopy /e /v /y F:\Eudora M:\Backup\Eudora

 

Yada farklı bir örnek:

@echo off
:: variables
set drive=g:\Backup
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y

echo ### Backing up My Documents...
%backupcmd% "%USERPROFILE%\My Documents" "%drive%\My Documents"

echo ### Backing up Favorites...
%backupcmd% "%USERPROFILE%\Favorites" "%drive%\Favorites"

echo ### Backing up email and address book (Outlook Express)...
%backupcmd% "%USERPROFILE%\Application Data\Microsoft\Address Book" "%drive%\Address Book"
%backupcmd% "%USERPROFILE%\Local Settings\Application Data\Identities" "%drive%\Outlook Express"

echo ### Backing up email and contacts (MS Outlook)...
%backupcmd% "%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook" "%drive%\Outlook"

echo ### Backing up the Registry...
if not exist "%drive%\Registry" mkdir "%drive%\Registry"
if exist "%drive%\Registry\regbackup.reg" del "%drive%\Registry\regbackup.reg"
regedit /e "%drive%\Registry\regbackup.reg"

:: use below syntax to backup other directories...
:: %backupcmd% "...source directory..." "%drive%\...destination dir..."

echo Backup Complete!
@pause

 

 
Gönderildi : 19/07/2012 18:47

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Merhabalar Ozan Bey, 

for /r c:\dizin %%f in (*.pdf) do copy "%%f" \\hedef dizin

Kolay gelsin. 

 
Gönderildi : 19/07/2012 19:51

(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

Merhabalar Ozan Bey, 

for /r c:\dizin %%f in (*.pdf) do copy "%%f" \\hedef dizin

Kolay gelsin. 

İlginize teşekkürler fakat hedef dizine ulaşır iken komutun bir user ve paswd bilgisine ihtiyacı yokmu? Domain yapısının olduğunu belirtmiştim. Ayrıca pdflerin bulunduğu dizinden hedef dizinlere kopyalama yapıldıktan sonra mevcut dizindeki pdflerin silinmesi gerekiyor. Biz bu işlemi manual olarak haftanın belirli iki günü yapacağız. Yani aslında mantığı çok basit. El ile dosyaları copy yapıp hedef iki farklı dizine kopyalayıp, mevcut dizindeki pdfleri siliyoruz. Bu kombinasyonu batch file ile nasıl yapabiliriz?

 
Gönderildi : 19/07/2012 23:12

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Kopyalanan dosyaların silinmesi gerekiyorsa copy yerine move kullanılabilir veya kopyalandıktan sonra silinebilir. Hedef dizin olarak belirttiğim paylaşıma açık ve yazma izni olan bir dizini temsil ediyor.

setlocal enableextensions
REM Girilecek Bilgiler
Set source="C:\dizin\"
Set target1="\\server\yedeklenecek dizin\"
Set target2="\\Nas\yedeklenecek dizin\"
Set usr=kullanıcı adı
Set passwd=şifre

REM File Server Bölümü
net use X: %target1% /user:%usr% %passwd%
X:
mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"
cd Backup~1
set folder=%cd%\
for /r %source% %%f in (*.pdf) do copy "%%f" "%folder%"
cd..

REM NAS
net use Y: %target2%
xcopy /E /Y Backup~1 "%target2%"

net use %target1% /delete
net use %target2% /delete
if %errorlevel% neq 0 goto end
del /f /s /q %source%*.pdf
:end

Böyle bişey yazdım, elimdeki makina denemeye müsait olmadığı için test edemedim; ama sıkıntı çıkaracağını sanmıyorum. Bi deneyin bakalım.

 
Gönderildi : 20/07/2012 02:20

(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 


Kopyalanan dosyaların silinmesi gerekiyorsa copy yerine move kullanılabilir veya kopyalandıktan sonra silinebilir. Hedef dizin olarak belirttiğim paylaşıma açık ve yazma izni olan bir dizini temsil ediyor.

setlocal enableextensions
REM Girilecek Bilgiler
Set source="C:\dizin\"
Set target1="\\server\yedeklenecek dizin\"
Set target2="\\Nas\yedeklenecek dizin\"
Set usr=kullanıcı adı
Set passwd=şifre

REM File Server Bölümü
net use X: %target1% /user:%usr% %passwd%
X:
mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"
cd Backup~1
set folder=%cd%\
for /r %source% %%f in (*.pdf) do copy "%%f" "%folder%"
cd..

REM NAS
net use Y: %target2%
xcopy /E /Y Backup~1 "%target2%"


net use %target1% /delete
net use %target2% /delete
if %errorlevel% neq 0 goto end
del /f /s /q %source%*.pdf
:end

Böyle bişey yazdım, elimdeki makina denemeye müsait olmadığı için test edemedim; ama sıkıntı çıkaracağını sanmıyorum. Bi deneyin bakalım.



 Merhaba, Bu file talep ettiğim algoritmada çalışmıyor, Backup adında tarihin belirtildiği bir klasör oluşturuyor, buna gerek yok. Sadece benim belirrtiğim dizine kopyalaması yeterli olacaktır.

 
Gönderildi : 20/07/2012 12:09

(@vasviuysal)
Gönderiler: 7889
Üye
 

mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"

satırını silip

cd Backup~1 kısmındada Backup~1 yerine istediginiz klasoru yazabilirsiniz

 

 
Gönderildi : 20/07/2012 12:19

(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 


mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"



satırını silip


cd Backup~1 kısmındada Backup~1 yerine istediginiz klasoru yazabilirsiniz


 



 


Backup'a gerek yok, sadece belirttiğim eydeklenecek dizine yedekleme yapsın yeterli.

 
Gönderildi : 24/07/2012 13:12

(@vasviuysal)
Gönderiler: 7889
Üye
 

mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"

satırını silip

cd Backup~1 kısmındada Backup~1 yerine istediginiz klasoru yazabilirsiniz

 

 

Backup'a gerek yok, sadece belirttiğim eydeklenecek dizine yedekleme yapsın yeterli.

aynı şeyi demişim zaten backup~1 yerine istediğiniz klasoru yazabilirsiniz 

 
Gönderildi : 24/07/2012 14:12

(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 


mkdir "Backup %date:~-4,4%-%date:~-10,2%-%date:~7,2%"



satırını silip


cd Backup~1 kısmındada Backup~1 yerine istediginiz klasoru yazabilirsiniz


 



 


Backup'a gerek yok, sadece belirttiğim eydeklenecek dizine yedekleme yapsın yeterli.




aynı şeyi demişim zaten backup~1 yerine istediğiniz klasoru yazabilirsiniz 




 


İstediğim herhangi bir klasör yok. Aynı şeyi mi demişsiniz, yanılıyorsunuz.


Set target1="\\server\yedeklenecek dizin\"
Set target2=\\Nas\yedeklenecek dizin\


Zaten burada istediğim yer istediğim klasör.


Bir daha neden ayrı bir klasör belirtiyoruz veya yazıyoruz onu anlamış değilim.

 
Gönderildi : 24/07/2012 14:42

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

setlocal enableextensions

REM Girilecek Bilgiler
Set source="C:\dizin\"
Set target1="\\server\yedeklenecek dizin\"
Set target2="\\Nas\yedeklenecek dizin\"
Set usr=kullanıcı adı
Set passwd=şifre

REM File Server Bölümü
net use X: %target1% /user:%usr% %passwd%
for /r %source% %%f in (*.pdf) do copy "%%f" "%target1%"

REM NAS
net use Y: %target2%
for /r %source% %%f in (*.pdf) do copy "%%f" "%target2%"
net use %target1% /delete
net use %target2% /delete
if %errorlevel% neq 0 goto end
del /f /s /q %source%*.pdf
:end

 
Gönderildi : 24/07/2012 23:49

(@bilgehanpoyraz)
Gönderiler: 809
Illustrious Member
 

en kısa yöntem ile, Backup almak istediğiniz sunucu üzerinde bir klasör açın ve paylaşım verin.

net use S: \\10.10.10.10\IstTmgBck
cd C:\Program Files\Microsoft SQL Server\MSSQL10.ISARS\MSSQL
net stop MSSQL$ISARS /yes
rar a  %date%.rar data
net start MSSQL$ISARS /yes
xcopy *.rar s:\ /i /y
del *.rar
net use s: /delete

hem kopylar hemde günün tarihine göre rar'larsınız rarlamak sadece kopyalamak isterseniz rar'lı satırı çıkatrın aradan.

not: bu cmd dosyasının backup alınacak sunucudan çalıştırmanız lazım. Yani sql backup'ını alacaksanız SQL server üzerinde zamanlayın.

 

 
Gönderildi : 18/08/2012 20:07

(@ozansanci)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

setlocal enableextensions
REM Girilecek Bilgiler
Set source="C:\Kopyasi_Alinacak_Dizin\"
Set target1="\\Dizin1"
Set target2="\\Dizin2"
Set usr=username
Set passwd=password

REM File Server Bölümü
net use X: %target1% /user:%usr% %passwd%
for /r %source% %%f in (*.pdf) do copy %%f %target1%


REM NAS
net use Y: %target2%
for /r %source% %%f in (*.pdf) do copy %%f %target2%


if %errorlevel% neq 0 goto end
del /f /s /q %source%*.pdf
:end


 


Komutları ile pdf'leri kopyalamayı başardım.

 
Gönderildi : 07/09/2012 12:41

(@MelihMERCAN)
Gönderiler: 59
Trusted Member
 

hocam peki kaynak klasörde bulunan kopyalayacağım dosyaların gg/aa/yyyy tarihinde olanları nasıl kopyalayabilirim?

 
Gönderildi : 18/02/2015 20:36

Paylaş: