рдорд┐рдХрд░реЛрдЯрд┐рдХ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдЕрдк рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдПрдбреНрд░реЗрд╕ рд▓рд┐рд╕реНрдЯ рдХреА рд░рд┐рдХрд╡рд░реА

рдорд┐рдХрд░реЛрдЯрд┐рдХ рдореЗрдВ рд░рд╛рдЙрдЯрд░рдУрдПрд╕ рдХреЛ рдкрддрд╛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЧрддрд┐рд╢реАрд▓ рддрддреНрд╡ рдпрд╛рдж рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдмрд┐рдЬрд▓реА рдХреА рд░рд┐рдмреВрдЯ рдпрд╛ рд╣рд╛рдирд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЗрд╡рд▓ рд╕реНрдереИрддрд┐рдХ рддрддреНрд╡ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рдпрдо рд╣реИ рдЬреЛ рд╕реНрдкреИрдорд░ рдпрд╛ рдкреЛрд░реНрдЯ рд╕реНрдХреИрдирд░ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдРрд╕реЗ рдкрддреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рдмреВрдЯ рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ "рдореВрд▓реА" рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЦреЛрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬреЛ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рдирд┐рд░рдВрддрд░ рдЧреЗрдЯрд╡реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ) рдПрдХ рдРрд╕реЗ рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рд╣реИ рдЬреЛ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рддрдВрддреНрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡реЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рдЧреЗрдЯрд╡реЗ рдкрд░, рд╢реЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ BackupDynList_to_FTP рдФрд░ BackupDynListFromFTP, рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдкрд░ рд╢реЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ convertmtik.batред рдорд┐рдХрд░реЛрдЯрд┐рдХ рдХреА рдЖрдВрддрд░рд┐рдХ рдореЗрдореЛрд░реА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╕реВрдЪрд┐рдпрд╛рдВ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдЧреИрд░-рд╡рд╛рд╖реНрдкрд╢реАрд▓ рдореЗрдореЛрд░реА рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдирд╣реАрдВ рд╣реИ) рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛ рдорд┐рдХреНрд░реЛрдЯрд┐рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред DynListExport рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реВрдЪреА рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реАрдорд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реВрдЪреА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд╣реА рддрддреНрд╡ (рдХрд╣рддреЗ рд╣реИрдВ, рдПрдХ рд╕реНрдерд┐рд░ рд░рд┐рдХреЙрд░реНрдб) рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЖрдпрд╛рдд рдХреЗ рджреМрд░рд╛рди рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рдФрд░ рдЖрдпрд╛рдд рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдмрд╛рд░ рдПрдХ рд╕реНрдерд┐рд░ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдореИрдЪ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд┐рдХреЙрд░реНрдб рдмрд╕ рдЬреЛрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдпрд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

BackupDynList_to_FTP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд░ рдШрдВрдЯреЗ (00:00) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕рднреА рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ iplist_dyn.de.rc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рдпрдирд╛рдорд┐рдХ рд░рд┐рдХреЙрд░реНрдб (рдЬреЛ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдЖрдзреЗ рдШрдВрдЯреЗ рддрдХ рдЬреАрд╡рд┐рдд рд░рд╣рддрд╛ рд╣реИ) рдХреЛ рдПрдХрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ ftp рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рд╣рд░ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (00:30) рд╕реЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдХреА рд╢рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде, Convertmtik.bat рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЧреЗрдЯрд╡реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рд╕рдВрдпреЛрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ iplist_dyn_done.src рдирд╛рдо рдХреЗ рддрд╣рдд рд╕рд╣реЗрдЬрддреА рд╣реИред

рдЕрдм, рдпрджрд┐ рдЧреЗрдЯрд╡реЗ рдХреНрд░реИрд╢ рдпрд╛ рд░реАрдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордп, рдбрд╛рдпрдиреЗрдорд┐рдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдкрдиреЗ рдЖрдк рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЙрдиреНрдЪ рдХреЗ 60 рд╕реЗрдХрдВрдб рдмрд╛рдж, рдмреИрдХрдЕрдкрдбрд╛рдпрдирд▓рд┐рд╕реНрдЯрдлреНрд░реЙрдо рдПрдлрдЯреАрдкреА рд▓рд┐рд╕реНрдЯ рдореЗрдВ iplist_dyn_done.src рдлрд╛рдЗрд▓ рдХреЛ рдПрдлрд╝рдЯреАрдкреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

рд╣рд░ рдШрдВрдЯреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рд░ рдШрдВрдЯреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдкреНрд░рддрд┐ рдШрдВрдЯреЗ_Dynlist_Backup_on_FTP (/ sys sheduler)

/system script run BackupDynList_to_FTP 

рд▓рд┐рдкрд┐ BackupDynList_to_FTP (рдПрдлрд╝рдЯреАрдкреА рдкрддрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛):

 /system script environment remove [ find where name="DynListExport" ]; :global DynListExport do={ :foreach i in=[/ip firewall addressтАУlist find where dynamic=yes and timeout>0d00h30m] do={ :local list [/ip firewall addressтАУlist get $i list]; :local address [/ip firewall addressтАУlist get $i address]; :local timeout [/ip firewall addressтАУlist get $i timeout]; :local comment [/ip firewall addressтАУlist get $i comment]; :put "/ip firewall addressтАУlist add list=$list address=$address timeout=$timeout comment=\"$comment\";"}; } :log info "Starting Backup to FTP Script..." :global iplistfile ("iplist_dyn.rsc") :if ([/file find name=$iplistfile]!= "") do={/file rem $iplistfile}; /execute script="\$DynListExport" file=$iplistfile :delay 60s /tool fetch address="_FTP_" port=21 mode=ftp srcтАУpath="iplist_dyn.rsc.txt" user= password= dstтАУpath="iplist_dyn.src" upload=yes :delay 20s /file rem $iplistfile :log info "Finished Backup to FTP!" 

рдЧреЗрдЯрд╡реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ (рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк) рдХреЗ рд╕рдордп рдПрдХреНрдЯреАрд╡реЗрдЯрд░ BackupDynList_from_FTP (/ sys sheduler) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 {:delay 60s}; /system script run BackupDynListFromFTP 

рд▓рд┐рдкрд┐ BackupDynListFromFTP (рдПрдлрд╝рдЯреАрдкреА рдкрддрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛):

 :local BackupFile "iplist_dyn_done.src" /file remove [find name=$BackupFile] /tool fetch address="_FTP_" port=21 mode=ftp srcтАУpath="$BackupFile" user= password= /import fileтАУname=$BackupFile {:delay 30s}; /file remove [find name=$BackupFile] /log info "$BackupFile imported" 

Convertmtik.bat рд╕рд░реНрд╡рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ - рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ SED рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП gnuwin32 рд╕реЗ, рдЬрд┐рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдкрде рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 echo # тАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУ тАФ > iplist_dyn_done.src echo # %date% %time% >> iplist_dyn_done.src echo # тАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУтАУ тАФ >> iplist_dyn_done.src echo /ip firewall addressтАУlist > iplist_dyn_done.src sed тАУe "s/;//" тАУe "s/\/ip firewall addressтАУlist //" тАУe "s/.*/:do { & } onтАУerror={}/" iplist_dyn.src >> iplist_dyn_done.src 

Source: https://habr.com/ru/post/hi477510/


All Articles