備份是開發者的基本功。本文提供跨平台的命令列備份方案,涵蓋壓縮、加時間戳命名、FTP 上傳、WGET 下載,並以 Shell/Batch 腳本實現自動化。
tar / Windows zip(需安裝 Info-ZIP)ftp(內建)、wget(支援 FTP 鏡像)cron / Windows 工作排程器# Windows
zip -r backup.zip "c:\yourfolder"
# Linux (打包 home,排除備份檔本身)
tar -czvf ~/backup.tgz --exclude backup.tgz ~/
:: Windows batch
@echo off
set host=ftp.yourhost.com
set user=username
set pass=password
set file=backup-%date:~4,2%-%date:~7,2%-%date:~10%.zip
set dir="yourfolder"
zip -r %file% %dir%
> script.ftp echo open %host%
>> script.ftp echo %user%
>> script.ftp echo %pass%
>> script.ftp echo bin
>> script.ftp echo put %file%
>> script.ftp echo bye
ftp.exe -d -s:script.ftp > backup.log
del script.ftp
#!/bin/bash
# Linux shell
host="ftp.yoursite.com"
user="username"
pass="password"
file="backup-$(date '+%m-%d-%Y').tgz"
dir="$HOME"
tar -cvzf "$file" "$dir"
ftp -vin <
:: Windows
set host="ftp://ftp.your.host.com"
set user="flintstone"
set pass="yabbadabbadoo"
wget %host% --ftp-user=%user% --ftp-password=%pass% ^
--mirror --output-file=backup.log --passive-ftp
#!/bin/sh
# Linux
host="ftp://ftp.your.host.com"
user="username"
pass="password"
wget "$host" --ftp-user="$user" --ftp-password="$pass" \
--mirror --output-file=backup.log --passive-ftp
split、zip -s)。scp/rsync over SSH。rsync 或專用工具。