- 论坛徽章:
- 6
|
非常感谢大大的回复。。
这模块是先备份文件,然后修改备份文件,然后用备份文件覆盖初始文件。
我想问下,如果文件备份后,磁盘就满了,此时再进行文件的move会完全成功吗?数据会不会丢失一些?
move( /etc/shadow.tmp => /etc/shadow)- $tmp = $self->gshadow_file.'.tmp';
- open($fh, '<', $self->gshadow_file()) or ($self->error($!) and umask $umask and return);
- open($ch, '>', $tmp) or ($self->error($!) and umask $umask and return);
- chmod PERM_SHD, $ch;
- while(my $line = <$fh>){
- chomp $line;
- my ($name, $passwd, $gid, $users) = split(/:/,$line,4);
- $users = join(q/,/, grep { !/$regexp/ } split(/\s*,\s*/, $users));
- print $ch join(q/:/, $name, $passwd, $gid, $users),"\n";
- }
- close($fh);close($ch);
- move($tmp, $self->gshadow_file()) or ($self->error($!) and umask $umask and return);
复制代码 回复 4# pitonas
|
|