2014-04-04 35 views
1

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

的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

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

+0

我很害怕这种情况,因为我没有找到任何关于它的事情。不管怎么说,还是要谢谢你! – Fingashpitzzz