با سلام ، من برای اینکه بتوانم از ذخیره های برنامه اسکیو ال در مکان های دیگر پشتیبان داشته باشم به فکر نوشتن یک برنامه توسط بچ فایل افتادم و اکنون که این برنامه 3 سال است که به خوبی کار میکند تصمیم گرفتم آن را در این مکان به اشتراک بگذارم .روش کار این برنامه : با اجرای این برنامه در پوشه ای که در آن پوشه پوشه ذخیره بک آپ های اسکیو ال قرار دارد این برنامه توشط برنامه winrar شروع به فشرده ردن فایلهایی می کند که امروز گرفته شده است سپس خود یک بچ فایل دیگر می سازد که با اجرای آن اقدام به ارسال فایل های فشرده به سرور اف تی پی می نماید.این برنامه نام فایل فشرده را ترکیبی از نام شرکت نام بانک و تاریخ ایجاد میکند ، ابتدا کل متن زیر را در یک فایل تکست کپی کنید و بعد از دادن اطلاعات مورد نیاز که از خط دوم شروع می شود آن را با فرمت bat خیره نمائید :
echo ************* Start in %%B Time is :%time:~0,11% >batlog\out1.txt set Zone=نام شرکت set FtpIp=آي پي اف تي پي سرور set Ftpuser=نام کاربري اف تي پي Set FtpPass=کلمه عبور set FtpRoot=آدرس پوشه در اف تي ي set keepWeek=کدام روز هفته نگه داري شود set rarpass=رمز فایل فشرده rem *********** پایان تنظیمات ************** set mm=%date:~4,2% set dd=%date:~7,2% set yy=%date:~10,4% set Week=%date:~0,3% set filename=%week%-%yy%-%mm%-%dd% set BkRoot=%cd% md batlog MD FTPBAT del /s /q FTPBAT\*.bat echo all bat file in ftpbat is deleted >>batlog\out1.txt del /s /q SENDING.BAT echo SENDING.BAT is deleted >>batlog\out1.txt FOR /f "tokens=*" %%A IN ('DIR *.* /a:d /B') DO ( set PA=%%A REN %%A\%%A_backup_%yy%_%mm%_%dd%_*.BAK %ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK echo The File %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK Exist >>batlog\out1.txt IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK rar a /p%rarpass% %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd% %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK >>batlog\out1.txt IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR del /s /q %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo open %FtpIp%>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo %FtpUser%>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo %FtpPass%>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR if not "%FtpRoot%"=="" echo cd %FtpRoot%>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo mkdir %%A>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo cd %%A>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR if not "%keepWeek%"=="%week%" echo mdelete %ZONE%-%%A-%week%-%yy%-%mm%-%dd%*.rar>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo send %BkRoot%\%%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.rar>>FTPBAT\%%A-ftp.bat IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR echo by>>FTPBAT\%%A-ftp.bat IF EXIST FTPBAT\%%A-ftp.bat echo ************* This %%A-ftp.bat is Cereted :%time:~0,11% >>batlog\out1.txt IF EXIST FTPBAT\%%A-ftp.bat ECHO call ftp -i -s:%BkRoot%\FTPBAT\%%A-ftp.bat >>SENDING.BAT IF EXIST FTPBAT\%%A-ftp.bat ECHO THE %%A-ftp.bat ADD TO SENDING.BAT >>batlog\out1.txt echo.>>batlog\out1.txt echo.>>batlog\out1.txt ) GOTO END :END copy batlog\out1.txt batlog\%Zone%-%FtpIp%%filename%.txt call SENDING>> batlog\SENDING%yy%-%mm%-%dd%.txt
سپس این فایل را در پوشه ای که در آن پوشه پوشه بانک اطلاعاتی که توسط برنامه اس کیو ال ایجاد شده است کپی نمائید ،از پوشه برنامه winrar فایل Rar.exe را کنار این فایل قرار دهید حالا با اجرای این بچ فایل برنامه کار خود را آغاز میکند اگر می خواهید که این برنامه کار فشرده نمودن را در یک زمان و ارسال را در یک زمان دیگر انجام دهد خط آخر را پاک نمائید،توجه این برنامه بعد از فشرده کردن فایل اصلی را پاک میکند.- اگر مایل به پاک کردن بعد از فشردن نیستید این خط را غیر فعال نمائید :
IF EXIST %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.RAR del /s /q %%A\%ZONE%-%%A-%week%-%yy%-%mm%-%dd%.BAK
دوستدار شبکه و مجازی سازی
متاسفانه درس کامپیوتر رو به صورت دانشگاهی نخوندم اما به خاطر علاقه تلاش کردم که با تجربه و مطالعه چیزهایی که نیاز دارم رو یاد بگیرم
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود