Dziwne zachowanie gemu backup

Może ktoś was miał do czynienia z tym gemem, wydaje się, że to bardzo dobre narzędzie do robienia backupów. Niestety nie działa mi on do końca. Wprawdzie tworzy modele do wykonania kopii danych, ale wywołanie

backup performer -t my_backup

teoretycznie pakuje odpowiednie pliki, tworzy foldery gdzie powinien umieścić backup, ale samych plików backupa albo nie tworzy (co jest dziwne, bo troche trwa zanim zakończy działanie), albo umieszcza je w dziwnym miejscu, bo w podanym katalogu nie ma kopii.

A teraz konkretniej

backup generate:model --trigger my_backup --databases='postgresql' --compressors='gzip'

tworzy mi taką strukturę

~/Backup/ ~/Backup/models/my_backup.rb ~/Backup/config.rb
W pliku my_backup.rb ustawiam odpowiednie dane bazy danych i po wywołaniu:

backup perform --trigger my_backup

otrzymuje takie wyjście:

[2012/09/30 12:03:18][message] Performing Backup for 'Description for my_backup (my_backup)'! [2012/09/30 12:03:18][message] [ backup 3.0.25 : ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] ] [2012/09/30 12:03:18][message] Database::PostgreSQL started dumping and archiving 'spg_development'. [2012/09/30 12:03:18][message] Using Compressor::Gzip for compression. [2012/09/30 12:03:18][message] Command: '/bin/gzip' [2012/09/30 12:03:18][message] Ext: '.gz' [2012/09/30 12:03:23][message] Database::PostgreSQL Complete! [2012/09/30 12:03:23][message] Packaging the backup files... [2012/09/30 12:03:23][message] Splitter configured with a chunk size of 250MB. [2012/09/30 12:03:23][message] Packaging Complete! [2012/09/30 12:03:23][message] Cleaning up the temporary files... [2012/09/30 12:03:23][message] Cleaning up the package files... [2012/09/30 12:03:23][message] Backup for 'Description for my_backup (my_backup)' Completed Successfully in 00:00:05
Czyli to oznacza, że backup powinien się utworzyć, struktura plików wygląda teraz tak:

~/Backup/ ~/Backup/data/my_backup/ ~/Backup/log/backup.log ~/Backup/models/my_backup.rb ~/Backup/config.rb
Plik my_backup.rb wygląda tak:

[code=ruby]# encoding: utf-8

Backup Generated: my_backup

Once configured, you can run the backup with the following command:

$ backup perform -t my_backup [-c <path_to_configuration_file>]

Backup::Model.new(:my_backup, ‘Description for my_backup’) do

Split [Splitter]

Split the backup file in to chunks of 250 megabytes

if the backup file size exceeds 250 megabytes

split_into_chunks_of 250

PostgreSQL [Database]

database PostgreSQL do |db|
db.name = “…”
db.username = “…”
db.password = “…”
db.host = “localhost”
db.port = 5432
#db.socket = “/tmp/pg.sock”
#db.skip_tables = [“skip”, “these”, “tables”]
#db.only_tables = [“only”, “these” “tables”]
db.additional_options = ["-xc", “-E=utf8”]
# Optional: Use to set the location of this utility
# if it cannot be found by name in your $PATH
# db.pg_dump_utility = “/opt/local/bin/pg_dump”
end

Gzip [Compressor]

compress_with Gzip

end[/code]
Sprawdzałem gem backup w wersjach 3.0.21 - 3.0.25 i efekt był taki sam. Po uruchomieniu systemu od nowa, nadal backup się nie generował.
Moje ustawienia to rbenv, ruby 1.9.3p194 i rails 3.2.8.

Powinieneś zdefiniować co się dzieje po utworzeniu pliku skompresowanego z owym plikiem właśnie. Wrzut na S3, ftp, rsync, lokalny cp – cokolwiek, ale coś musi się z tym stać, bo po zakończeniu roboty gem Backup usuwa wyniki swojej pracy.

W sensie, brakuje w Twojej konfiguracji bloku store_with.

(jeśli dobrze pamiętam, ale jestem troszkę wyprany)

Faktycznie, ale zonk, że tego nie zauważyłem. Dzięki Tomash.