Есть скрипт, который должен удалять из крона одну конкретную строку, но по непонятной причине, он очищает все строки в кроне, никак не могу понять в чем же ошибка.
Вот кусок отвечающий за это
$connect = ssh2_connect('localhost', '22');
ssh2_auth_password($connect, ssh_login, ssh_password);
$stream = ssh2_exec($connect,'cat /var/spool/cron/crontabs/deone');
stream_set_blocking($stream, true);
$path_script = 'user_'.$_SESSION['id'].'_job_'.$id.'.php';
$stream = stream_get_contents($stream);
$stream = str_replace('* * * * * /home/jitter.sh; /usr/bin/flock -xn /tmp/'.$path_script.'.lock -c \'/usr/bin/php -q /var/www/deone/data/www/vk-manager.ru/script/grabber/'.$path_script.' >/dev/null 2>&1\'', '', $stream);
ssh2_exec($connect,'echo -n > /var/spool/cron/crontabs/deone');
ssh2_exec($connect, 'echo "'.$stream.'">> /var/spool/cron/crontabs/deone');
ssh2_exec($connect, '/etc/init.d/cron restart');
}
}
$mysqli->close();
В таком виде в кроне лежат строки
* * * * * /home/jitter.sh; /usr/bin/flock -xn /tmp/user_751_job_11101.php.lock -c '/usr/bin/php -q /var/www/deone/data/www/vk-manager.ru/script/grabber/user_751_job_11101.php >/dev/null 2>&1'
А вот старый код, который вроде как работал когда-то правильно
$connect = ssh2_connect('localhost', '22');
ssh2_auth_password($connect, ssh_login, ssh_password);
$stream = ssh2_exec($connect,'cat /var/spool/cron/crontabs/deone');
stream_set_blocking($stream, true);
$stream = stream_get_contents($stream);
$path_script = 'grabber/user_'.$_SESSION['id'].'_job_'.$id.'.php';
$stream = str_replace("* * * * * /usr/bin/php -q /var/www/deone/data/www/vk-manager.ru/script/".$path_script." >/dev/null 2>&1\n",'',$stream);
ssh2_exec($connect,'echo -n > /var/spool/cron/crontabs/deone');
ssh2_exec($connect, 'echo "'.$stream.'">> /var/spool/cron/crontabs/deone');
ssh2_exec($connect, '\etc\init.d\cron restart');
Подскажите пожалуйста, как исправить проблему. Заранее спасибо.