用 curl 和 wget 命令列批次、定時下載檔案列表

用linux自動化腳本sh批次且定時下載大量檔案

之前公司因為網頁整修的關係,IT 部門大佬希望全體員工幫個忙,有空刷一下公司的網頁來進行壓力測試。順手刷一下網頁當然是沒問題,但有時候工作如果太忙就會忘記這項無關緊要的雜務。因此我就隨手寫了簡單的 .sh 檔,搭配上 crontab 來進行這項任務。翠習

 

 

將目標網頁或檔案整理成文字列表

把所有要刷的網頁和檔案整理成一個文字列表 (txt),之後就能用 -i 指令將其匯入。

 

自動化下載腳本 (1)


wget -P /home/user/download -i /home/user/file-list.txt
rm `ls  /home/user/download/*|egrep -v '(*.txt|*.sh)'`

-i 匯入下載檔案列表。
-P 指定下載資料夾。
-v 排除特定檔案。


自動化下載腳本 (2) - 依日期產生資料夾,下載完成後刪除


mkdir $(date '+%Y%m%d')
wget -P ./$(date '+%Y%m%d')/ -i /home/user/file-list.txt
rm -rf ./$(date '+%Y%m%d')/


將腳本用 crontab 進行排程


crontab -e
*/30 * * * * /home/user/mysh/auto-web.sh

# 每三十分鐘執行一次

 


d(´∀`)b

 

 

「你是不是用程式刷網頁的,不然 log 時間怎這麼整齊?」IT 大佬滿腹疑惑。六四

 

難不成你要我用手刷?

 

其他指令



建議使用絕對路徑編寫腳本,否則很容易發生悲劇。

apt install tor

nano /etc/tor/torrc

curl --socks5 127.0.0.1:9050 -o duck.html duckduckgo.com

xargs -n 1 curl -O < /home/user/file-list.txt

--no-check-certificate #ERROR: The certificate of URL is not trusted.

tsocks # 讓 wget 可以使用 socks5 代理伺服器

sudo nano /etc/tsocks.conf # 於設定檔內新增伺服器與 prot




 

延伸閱讀

不怕忘記!讓電腦每天自動登入 Ptt 累積上站次數

在 Linux 下用 Wine 執行 Windows 的 cmd 和 bat 批次檔

用批次檔(bat)移動、刪除資料夾特定檔案

CMD 批次刪除、列出與移動檔案 - 命令提示字元

用 Python 讀取 xml 檔內特定資料


 

留言