Аз изобщо нямах много опит с баш. Сценарият по-долу работи, когато не използвах командата find и просто направих scp направо от файла. Но аз се опитвам да намеря и прехвърля файл, който днес е добавен d / m / y и прехвърлям само този, след като го намеря.
В момента дава грешката "файлът не е намерен" също не съм сигурен как да използвам променливи в тази ситуация, тъй като аз съм PHP кодер. Благодаря
#!/usr/bin/expect -f
FILENAME = appendname_".date +%d%m%Y;
spawn bash -c "scp "find /www/reports/archives . -name
$FILENAME.txt" ftpdomain.com:/"
expect "password:"
send "pwaordr"
expect "*r"
expect "ok"
Отговори:
1 за отговор № 1Препоръчвам ви да използвате ssh-keygen
и инсталирайте ключа на вашия сървър, тогава можете да използвате scp
без да е необходимо да въвеждате парола expect
, На вашия въпрос можете да използвате командно заместване (Баш опори $()
и ``), нещо подобно
spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt)
ftpdomain.com:/"