]> git.proxmox.com Git - pve-cluster.git/commitdiff
cleanup calls to external programs
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Fri, 10 Jun 2016 09:57:00 +0000 (11:57 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 10 Jun 2016 11:05:40 +0000 (13:05 +0200)
data/PVE/CLI/pvecm.pm
data/PVE/Cluster.pm

index 53fcb3a62d751aa9736180075254af5e91b3e125..7882b5c30a95e1bc91f888c1b5dfa5d1ba16d7dd 100755 (executable)
@@ -33,12 +33,13 @@ sub backup_database {
     mkdir $backupdir;
     
     my $ctime = time();
-    my $cmd = "echo '.dump' |";
-    $cmd .= "sqlite3 '$dbfile' |";
-    $cmd .= "gzip - >'${backupdir}/config-${ctime}.sql.gz'";
+    my $cmd = [
+       ['echo', '.dump'],
+       ['sqlite3', $dbfile],
+       ['gzip', '-', \">${backupdir}/config-${ctime}.sql.gz"],
+    ];
 
-    system($cmd) == 0 ||
-       die "can't backup old database: $!\n";
+    PVE::Tools::run_command($cmd, 'errmsg' => "can't backup old database\n");
 
     # purge older backup
     my $maxfiles = 10;
@@ -492,9 +493,9 @@ __PACKAGE__->register_method ({
        # make sure known_hosts is on local filesystem
        PVE::Cluster::ssh_unmerge_known_hosts();
 
-       my $cmd = "ssh-copy-id -i /root/.ssh/id_rsa 'root\@$host' >/dev/null 2>&1";
-       system ($cmd) == 0 ||
-           die "unable to copy ssh ID\n";
+       my $cmd = ['ssh-copy-id', '-i', '/root/.ssh/id_rsa', "root\@$host"];
+       PVE::Tools::run_command($cmd, 'outfunc' => sub {}, 'errfunc' => sub {},
+                               'errmsg' => "unable to copy ssh ID");
 
        $cmd = ['ssh', $host, '-o', 'BatchMode=yes',
                'pvecm', 'addnode', $nodename, '--force', 1];
index 85f35906147c8cea942ad33ca10d3d0785d8c067..83219419bded21bdc7702365480133685466c239 100644 (file)
@@ -153,11 +153,9 @@ sub gen_auth_key {
 
     mkdir $authdir || $! == EEXIST || die "unable to create dir '$authdir' - $!\n";
 
-    my $cmd = "openssl genrsa -out '$authprivkeyfn' 2048";
-    run_silent_cmd($cmd);
+    run_silent_cmd(['openssl', 'genrsa -out', $authprivkeyfn, '2048']);
 
-    $cmd = "openssl rsa -in '$authprivkeyfn' -pubout -out '$authpubkeyfn'";
-    run_silent_cmd($cmd)
+    run_silent_cmd(['openssl', 'rsa', '-in', $authprivkeyfn, '-pubout', '-out', $authpubkeyfn]);
 }
 
 sub gen_pveca_key {