2012-11-04 10 views
6

Mam skrypt, który czyta niektóre adresy URL i przenosi je do osi, aby je pobrać. Chcę czasem zatrzymać skrypt i wznowić go dalej. Axel może wznowić pobieranie pliku. Więc jeśli naciśniesz Ctrl + C podczas pobierania, następnym razem rozpocznie się od wznowienia pliku.Nie pobieraj istniejącego pliku za pomocą osi

ale axel nie sprawdza, czy plik istnieje. Więc dodaje ".0" na końcu nazwy pliku i zaczyna downloding go dwa razy. Jak mogę określić, czy plik o tej samej nazwie istnieje, pomiń to i nie pobieraj go?

+0

axel używa pliku [FILE_NAME] .st oprócz głównego pliku do pobrania, który ma stan pobranego pliku, jeśli wznowisz, wyszuka plik stanu i pobierze następne bajty –

Odpowiedz

7

Jeśli chcesz Axel wznowić, należy użyć

axel -o NAME_OF_EXISTING_FILE 

Jeśli chcesz sprawdzić, czy plik istnieje

if [ -f $FILE ]; 
then 
    echo "File $FILE exists." #operation related to when file exists 
else 
    echo "File $FILE does not exist." #operation related to when file does not exists 
fi 

Albo

if [ ! -f /tmp/foo.txt ]; 
then 
    echo "File not found!" #operation related to when file does not exists 
fi 

bash skrypt z here

2

Axel używa pliku stanu o nazwie z rozszerzeniem .st.
Jest regularnie aktualizowany podczas pobierania.
Po uruchomieniu osi najpierw sprawdza plik <> i < plik.st>. Jeśli zostanie znaleziony, pobieranie zostanie wznowione w miejscu, w którym zostało zatrzymane.
Którą wersję masz? Dostałem wersję Axela 2.4 (Linux) i wznowiono ją poprawnie po CTRL + C.

Powiązane problemy