Как удалить удаленный файл с помощью ssh?

Я работаю над проектом, в котором мы используем 2 виртуальные машины. Одна из них используется как локальная и может быть доступна, и с этой локальной виртуальной машины нам необходим доступ к удаленной виртуальной машине. Работая над этим, я столкнулся с проблемой. В каталоге есть файл на удаленном компьютере. Каждый раз, когда выполняется скрипт, файл загружается новыми данными, но мне это не нужно. Я хочу, чтобы файл был удаляется каждый раз перед выполнением моего скрипта.

Я дал код ниже.

if($ssh = ssh2_connect('192.168.150.85', 22)) {
if(ssh2_auth_password($ssh, 'someUserName', 'somePassword')) {
$stream = ssh2_exec($ssh, "python file_scanner.py /home/nsadmin/$file_name");
$stream = ssh2_exec($ssh, 'rm /home/nsadmin/file_scanned');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
$data .= $buffer;
}
fclose($stream);
echo $data; // user
}
}

Здесь мы видим, что после ssh-соединения Iam выполняет некоторый скрипт, и результат этого файла добавляется в файл file_scannedНо когда я выполняю соединение ssh, я также получаю предыдущие результаты. $stream = ssh2_exec($ssh, 'rm /home/nsadmin/file_scanned'); , Но это не работает.

Любые предложения о том, как изменить или изменить мой скрипт, чтобы я мог удалить файл после выполнения предыдущей команды.

0

Решение

Там может быть проблема с разрешением, я могу сказать,

Но это решение, которое вы можете попробовать.

$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$stream = ssh2_sftp_unlink($sftp, '/home/nsadmin/file_scanned');

Это частая вещь, которую мы использовали для удаления удаленных файлов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]