Rexが存在しない場合は、それを使用してディレクトリを作成したいと思います。私はこれを読みました https://www.rexify.org/docs/rex_book/working_with_files_and_packages/working_with_files.html しかし、それを行う方法が見つかりません。
ディレクトリなしでファイルを送信すると、次のエラーが発生します。
ERROR - upload: /usr/local/path/file.ext is not writable
ヒントはありますか?
レックスの本のドキュメントは少し古いと思います。
こちらをご覧ください https://www.rexify.org/docs/api/ または(本日現在)最新のドキュメントはこちら:
https://www.rexify.org/docs/api/1.4/rex/commands/file.pm.html#file-file_name-options-
(現在のcpanバージョンが1.6であるのに対し、バージョン1.4と表示されますが、気にしないでください)
だから、例であなたの質問に答えるために:
task "backuptask", group => "mygroup", sub {
#
# 1.) define the Backup Dir (you could do it without this step)
my $backupdir = "/tmp/backup";
#
# 2.) "ensure" that the file is a (existing) "directory"
file $backupdir,
ensure=> "directory",
owner => "myowner",
group => "mygroup",
mode => 700,
on_change => sub { say "File was changed";};
#
# 3.) define Backup File
my $currTimestamp = strftime('%y%m%d',localtime);
my $backupfile = "$backupdir/somebackup$currTimestamp";
#
# 4.) "ensure" the the file is "present" at the defined path
file $backupfile, ensure=> "present";
...execute something here...
} ;