I have a small perl script which runs the /scripts/pkgacct
command in cPanel using system()
. The code looks like so;
print "\n/scripts/pkgacct --skiphomedir --nocompress $acc_name /my_backup\n\n";
system("/scripts/pkgacct --skiphomedir --nocompress $acc_name /my_backup");
my $bk_path = "/my_backup/cpmove-$acc_name.tar";
system("tar -xvf $bk_path -C /my_backup/");
When I run the script, only cPanel's default roundcube
and horde
databases are backed up. When I replace system()
with exec""
, the script runs as expected but terminates as soon as exec
is executed, i.e the subsequent statements in the perl script aren't executed. Using backticks shows the same behaviour as system()
- i.e doesn't backup all the databases.
Could someone tell me what mistake I am making?
Alternately, how can I get the remaining statements to execute after the exec
command?