我尝试了这个代码,但它无法正常工作
#!/bin/sh
#Find the Process ID for syncapp running instance
PID=`ps -ef | grep syncapp 'awk {print $2}'`
if [[ -z "$PID" ]] then
Kill -9 PID
fi
Run Code Online (Sandbox Code Playgroud)
它在awk附近显示错误.
请给我任何建议.
DROP PROCEDURE IF EXISTS Cursor_Test;# MySQL returned an empty result set (i.e. zero rows).
DELIMITER $$
CREATE PROCEDURE Cursor_Test()
BEGIN
DECLARE Project_Number_val VARCHAR( 255 );
DECLARE Project_List_val VARCHAR(255);
DECLARE no_more_rows BOOLEAN;
DECLARE loop_cntr INT DEFAULT 0;
DECLARE num_rows INT DEFAULT 0;
DECLARE projects_cur CURSOR FOR
SELECT Project_Id
FROM Project_Details;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET no_more_rows = TRUE;
OPEN projects_cur;
select FOUND_ROWS() into num_rows;
the_loop: LOOP
FETCH projects_cur
INTO Project_Number_val;
IF no_more_rows THEN
CLOSE projects_cur;
LEAVE the_loop;
END IF; …Run Code Online (Sandbox Code Playgroud) 当我使用root手动运行脚本时,它工作正常.当我在cron中执行相同的脚本时,它没有运行.我检查了cron实际上是在调用脚本但脚本没有执行.我将脚本中的echos输出导出到文本文件,但文本文件没有记录任何内容.请检查这个cron
*/10 * * * * sh /var/www/sym_monitor/restart.sh > /var/www/migrate/root_restart.txt
Run Code Online (Sandbox Code Playgroud) #!/bin/bash
value=$(</var/www/sym_monitor/man_mon.txt)
value2=$(</var/www/sym_monitor/panel_mon.txt)
pro=$(ps -ef |grep sym |grep -v grep |awk '{ print $2 }')
echo "$pro";
echo "STARTED";
if [ "$value" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
echo "IF";
else
if [ "$value2" == "false" ]; then
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;
(sudo ./sym --port 8082 --server);
#(sudo /bin/bash /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);
echo "ELSEIF";
else
if[ "$pro" == "" ]; then
echo "pro";
cd /var/www/symmetric-ds-3.1.6/bin;
sleep …Run Code Online (Sandbox Code Playgroud)