在PBS-job上设置umask

时间:2014-04-04 08:25:08

标签: perl file-permissions pbs umask

在编写Perl脚本以提交PBS作业的过程中,我注意到输出文件只能由所有者使用(rw -------)。经过一些研究,我发现你可以将#PBS -W umask=002放在工作脚本中,以便其他人可以访问。

的Perl:

my $client = PBS::Client->new();

my $wd    = $dir_temp;
my $name  = "demultiplex";
my $queue = "default";
my $wallt = "72:00:00";
my $job_demultiplex = PBS::Client::Job -> new(
    wd    => $wd,
    queue => $queue,
    name  => $name,
    wallt => $wallt,
    cmd   => "perl ".$script_directory."demultiplex.pl ".$dir_in." 2>"."demultiplex_error.log 1>"."demultiplex_output.log"
);

此Perlscript创建以下作业:

#!/bin/sh

#PBS -N demultiplex
#PBS -d /store/www/labresults_QC/small_rna_sequence_analyser/data/data_temp/BGI_pilot
#PBS -q default
#PBS -l nodes=1
#PBS -l walltime=72:00:00
#PBS -W umask=002                 <---

perl /store/www/labresults_QC/small_rna_sequence_analyser/scripts/demultiplex.pl /store/www/labresults_QC/small_rna_sequence_analyser/data/data_input/BGI_pilot 2>demultiplex_error.log 1>demultiplex_output.log

是否有可能将指示的行(<---)从Perlscript传递给作业?

1 个答案:

答案 0 :(得分:1)

鉴于current codebase,没有。您必须向bug report模块打开PBS::Client并请求该功能。随附补丁 - 这可能会有所帮助。