рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЛрдЧ рдЙрди рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ рдЬреЛ рдЕрднреА рддрдХ рдмреИрдХрдЕрдк рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡рд╕реВрд▓реА рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, 20 рдорд┐рдирдЯ рдкрд╣рд▓реЗ, рдЬрдм рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ рдХреЗ рдХреБрдЯрд┐рд▓
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреБрд╕реНрдЦрд╛ рдиреЗ рдПрдХ "рд▓рдбрд╝рд╛рдИ" рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЗрдЦреЛрдВ рд╕реЗ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдзреНрд╡рд╕реНрдд рдХрд░ рджрд┐рдпрд╛, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреИрдХрдЕрдк рдмрдирд╛рдиреЗ рдХреА рд╢реНрд░реЗрдгреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред рдпрд╣рд╛рдБ, рдЙрд╕реА рд╕рдордп рдФрд░ рдЬрд╛рдБрдЪ рдХреАред
рдФрд░ рд╣рдо рд░рддреНрди рдмреИрдХрдЕрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдЕрдк рдХрд░рддреЗ рд╣реИрдВ
рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЙрдб рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░, рд▓рдЧрднрдЧ 20 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯреЗрдВ рдЕрдм рдХрддрд╛рдИ рдХрд░ рд░рд╣реА рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╡реАрдУрдЖрдИрдкреА, RTMP, J2ME
рдФрд░ рдЧреАрд╢рд╛ рдФрд░ рдПрдХ рд╡реЗрдм рдПрдбрдорд┐рди рдкреИрдирд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд▓реЗрдХрд┐рди рдЧрд░реНрд╡ (рдФрд░ рднрд╛рд░реА) рдЕрдиреБрдкреНрд░рдпреЛрдЧред рдЬрдм, рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдкрд╣рд▓реЗ, рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди рдкреАрдмреАрдПрдХреНрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдорд┐рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдПрдХ рдЭрдХрдЭреЛрд░рдиреЗ рд╡рд╛рд▓реА рдареЛрдбрд╝реА рдФрд░ рдиреАрд▓реЗ рд╣реЛрдВрдареЛрдВ рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдореЙрди рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдмреИрдХрдЕрдк рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рдерд╛ред рд▓реЗрдХрд┐рди 20 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП "рдорд╛рдереЗ рдкрд░" рдмреИрдХрдЕрдк рдХрд░рдирд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ MySQL рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдмрд╣реБрдд рд╣реА рдирд┐рд░реНрдмрд╛рдз рдФрд░ рдЙрдмрд╛рдК рдерд╛ред рдпрд╣ рдПрдХ рд▓рдВрдмреА, рд▓рдВрдмреА рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреА, рдЬрд┐рд╕ рдкрд░ рдПрдХ рд╕рдлрд▓ рд▓реЙрдиреНрдЪ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж
рдЙрдиреНрд╣реЛрдВрдиреЗ рд░рди рдмрдирд╛рдП рд╣реЛрдВрдЧреЗ рдФрд░ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рд╕рдордп рджреЗрдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдмреИрдХрдЕрдк рдордгрд┐ рдХрд╛рдо рдЖрдпрд╛ред
рдмреИрдХрдЕрдк рдордгрд┐ рдпрд╣ рдХрд░рддрд╛ рд╣реИ:
- рдЙрд╕рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрдврд╝рддрд╛ рд╣реИ
- рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрдВрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ (рд╡рд┐рднрд┐рдиреНрди DBMS рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ)
- рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЯреИрд░рд┐рдл рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
- рд╕рдм рдХреБрдЫ рд╣рд┐рд▓рд╛ рджреЗрддрд╛ рд╣реИ
- рд╣рд░ рдЪреАрдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ
- FTP, SCP, RSync рдФрд░ рдЕрдиреНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрддрд╛ рд╣реИ
- рднрдВрдбрд╛рд░рдг рдЪрдХреНрд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ
- рдореБрдЭреЗ рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдмрд╕ рддреАрди рдЖрд╕рд╛рди рдХрд╛рдо рдХрд░рдиреЗ рд╣реИрдВ:
1. рдордгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдордгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдмреИрдХрдЕрдк)
2. рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд▓рд┐рдЦреЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдордгрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп ~ / рдмреИрдХрдЕрдк / config.rb рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╣рдорд╛рд░реА рдПрдХ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕:
Backup::Model.new(:kodepru, 'kodepru_backup') do
archive :my_archive do |archive|
archive.add '/path/to/dir/www.kodep.ru'
end
database MySQL do |db|
db.name = "wwwkodepru_production"
db.username = "user"
db.password = "password"
db.host = "mysql.local"
db.port = 3306
db.additional_options = ['--quick', '--single-transaction']
end
store_with SCP do |server|
server.username = 'backup'
server.password = 'verydifficultpassword'
server.ip = 'backup.local'
server.port = 22
server.path = '~/www.kodep.ru/'
server.keep = 14
end
compress_with Gzip do |compression|
compression.best = true
compression.fast = false
end
notify_by Mail do |mail|
mail.on_success = true
mail.on_failure = true
mail.from = 'backup@kodep.ru'
mail.to = 'sysadmin@kodep.ru'
mail.address = 'smtp.kodep.ru'
mail.port = 25
mail.domain = 'kodep.ru'
mail.user_name = 'backup@kodep.ru'
mail.password = 'password_ot_pochty'
mail.authentication = 'plain'
mail.enable_starttls_auto = true
end
end
рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдордгрд┐ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ wwwkodepru_production рдЖрдзрд╛рд░ рдХрд╛ рдПрдХ рдбрдВрдк рд▓реЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрдВрдк рдХрд░реЗрдВ, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд▓реЗ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рд╕рд╛рдЗрдЯ рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕реЗ рд╕рднреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реЗрдВ, рдЗрд╕реЗ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рдПрд╕рд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рд▓реЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдкрд┐рдЫрд▓реЗ 14 рд╕реЗ рдЕрдзрд┐рдХ рдмреИрдХрдЕрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдПрдХ рд╣рд░реНрд╖рд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред
3. рдХреНрд░реЛрдирд░ рдореЗрдВ рдмреИрдХрдЕрдк рдкреНрд░рджрд░реНрд╢рди --trigger kodepru рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВ, рдЖрдзреА рд░рд╛рдд рдХреЛ рдХрд╣реЗрдВред
...
рд▓рд╛рдн !!!
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдХрдареЛрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╣рд╛рде рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ! рд░реЗрд▓ рдкрд░
рдШреБрдЯрдиреЗ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реЙрдХреЗрдЯ рд▓рд┐рдЦрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдХреБрдЫ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рди рдХреЗрд╡рд▓ рд░реЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреЛрдб рдФрд░ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрддреА рд╣реИ ...
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ рд╢рд╛рдпрдж рд╣рдорд╛рд░реА рд╕рд░рд▓ рдЪрд╛рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред