Jednoduchý způsob s ftp:
#!/bin/bash
ftp -inv ip << EOF
user username password
cd /home/xxx/xxx/what/you/want/
put what_you_want_to_upload
bye
EOF
Pomocí lftp:
#!/bin/bash
lftp -u username,password ip << EOF
cd /home/xxx/xxx/what/you/want/
put what_you_want_to_upload
bye
EOF
Z manuálu lftp:
-u <user>[,<pass>] use the user/password for authentication
Pro vytvoření adresáře můžete použít mkdir. A příkaz put můžete použít několikrát takto:
put what_you_want_to_upload
put what_you_want_to_upload2
put what_you_want_to_upload3
A spojení můžete uzavřít pomocí bye
Můžete zkontrolovat, zda složka existuje nebo ne, takto:
#!/bin/bash
checkfolder=$(lftp -c "open -u user,pass ip; ls /home/test1/test1231")
if [ "$checkfolder" == "" ];
then
echo "folder does not exist"
else
echo "folder exist"
fi
Z manuálu lftp:
-c <cmd> execute the commands and exit
A můžete otevřít další připojení pro vložení některých souborů.
Nevím, jak zkontrolovat, zda složka existuje nebo neexistuje s jedním připojením, ale mohu to udělat takto. Možná najdete lepší řešení:
#!/bin/bash
checkfolder=$(lftp -c "open -u user,pass ip; ls /home/test1/test2")
if [ "$checkfolder" == "" ];
then
lftp -u user,pass ip << EOF
mkdir test2
cd test2
put testfile.txt
bye
EOF
else
echo "The directory already exists - exiting"
fi
valgrind - Adresa ---- je 0 bajtů po bloku o velikosti 8 přiděleného
Jak spustit skript na pozadí (linux openwrt)?