Un administrador de sistemas necesita escribir muchos scripts para monitorear y mantener los sistemas. Durante la secuencia de comandos, a veces es posible que necesite consultar algunos comandos bash nativos en perl. Aquí le mostraré cómo llamar a esos comandos nativos en los scripts de Perl:
Paso 1:Cree una subrutina que toma el comando, se ejecuta y devuelve la salida .
sub runcmd { local($cmd) = @_; alarm $timeout; $childkilled = 0; $childpid = open(CMD, "exec $cmd 2>&1 |"); return "failed to run \"$cmd\"\n" if (!defined($childpid)); local(@output) = ; local($output) = join("\n", @output); alarm 0; close(CMD); $output = $timeout_msg if ($childkilled); return $output; }
Paso 2:Crear otra subrutina para ejecutar el comando real
#Get Date When script is started running sub getDate() { local($command)="date"; local($out)=&runcmd($command); $logout=$logout." Cron Started At :".$out."\n"; }
Paso 3:Llame a la subrutina como se muestra a continuación:
&getDate();
Paso 4:Redirigir el comando de salida de fecha a un archivo usando el siguiente comando:
open (LOG, ">>/var/log/logfile") || die "can't open logfile\n"; print LOG "$logout\n"; close (LOG) || die;