Portál AbcLinuxu, 12. května 2025 05:34
scp
posílám ven.
Když skript spustím pomocí sudo
, vše proběhne bez problémů. Když jej ale spouští cron
jako root
, vše proběhne správně až na to scp
.
Nemáte někdo prosím ponětí, kde mám hledat chybu?
Tady je relevantní část toho skriptu:
function put_files () { # First linux build echo "Putting linux build on net..." cd $build_dir_linux /etc/local/secp kicad-`date +%Y%m%d`-r$version-linux.tar.bz2 linux # Then source package echo "Putting source package on net..." cd $build_dir_source /etc/local/secp kicad-`date +%Y%m%d`-r$version-source.tar.bz2 source # First windows build echo "Putting windows build on net..." cd $build_dir_win32 /etc/local/secp kicad-`date +%Y%m%d`-r$version-windows.tar.gz windows # And send messages echo "Sending messages about new release..." cat $log_file | mail -s "Kicad - "$version me@example.com }
secp
je:
#!/usr/bin/expect -f set filename [lindex $argv 0] set directory [lindex $argv 1] spawn scp "$filename" user@myhosting.com:/public_html/kicad/$directory/ ####################### expect { -re ".*es.*o.*" { exp_send "yes\r" exp_continue } -re ".*sword.*" { exp_send "secretpassword\r" } } interactDíky za jakoukoli pomoc.
HOME=/root LOGNAME=root PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin SHELL=/bin/sh PWD=/rootCo z toho prosím vyplývá?
error.log
to vytvoří, ale s nulovou délkou. To jsem z toho jelen #!/usr/bin/expect -- set timeout 30 spawn /usr/local/bin/scp -P 36000 user@ip:/data/myfile /data1 expect { "password:" { send "password\r" } "yes/no)?" { send "yes\r" set timeout -1 } timeout { exit } eof { exit } }
file not found
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.