Добрый день, я новичек в линукс, потихоньку осваиваюсь. У меня вопрос господа. Есть локальный и удаленный серверы. Задача стоит удалить файл с удалённого сервера, при этом скрипт должен запускаться на локальном.
вот примерно сам скрипт, нужно обязательно передавать с параметром $1
#!/bin/bash
echo $1
logfile="/var/log/delete_file.log"
if [ -n "$1" ];then
`/usr/bin/find /var/lib/blablalba/* -type f -a -name "$1" -exec rm -rf {} \; >> /dev/null 2>&1`
if [ $? -eq 0 ] ;then
sleep 1
echo "DELETED ! ALL OK!." >> $logfile
exit 0
else
echo "`date +"%d.%m.%Y_%H:%M:%S"` file ----> "$1" <---- NO DELETED ! Check script!" >> $logfile
fi
else
echo "`date +"%d.%m.%Y_%H:%M:%S"` Parametr ----> "$1" <---- NOT FOUND ! Check script!" >> $logfile
exit 1
fi
Что я делал :
/usr/bin/ssh remote_server@remote_ip 'bash -s' < "/var/lib/test_script/delete_file.sh --file.txt"
Ну и с ковычками туда-сюда манипуляции делал. Всегда выводит ошибку No such file or directory
upd
На удалённом сервере кусочек этого скрипта, отвечающий за поиск и удаление файла (по имени) без проблем находит этот файл:
/usr/bin/find /usr/bin/find /var/lib/blablalba/* -type f -name "file.txt"
связка по ключам ssh настроена. Права все выданы [вроде все].