58 lines
1.5 KiB
Bash
58 lines
1.5 KiB
Bash
#!/bin/bash
|
||
# iCloud 同步管理脚本
|
||
# 用法: ./icloud.sh <命令>
|
||
# 命令: auth, logs, status, restart, sync
|
||
|
||
cd "$(dirname "$0")"
|
||
|
||
show_help() {
|
||
echo -e "\033[36m用法: ./icloud.sh <命令>\033[0m"
|
||
echo ""
|
||
echo -e "\033[36m命令:\033[0m"
|
||
echo " auth - 重新认证"
|
||
echo " logs - 查看实时日志"
|
||
echo " status - 查看容器状态"
|
||
echo " restart - 重启容器"
|
||
echo " sync - 立即触发同步"
|
||
}
|
||
|
||
if [ -z "$1" ]; then
|
||
show_help
|
||
exit 0
|
||
fi
|
||
|
||
case $1 in
|
||
auth)
|
||
echo -e "\033[32m开始 iCloud 认证...\033[0m"
|
||
echo -e "\033[33m请输入密码和验证码完成认证\033[0m"
|
||
docker exec -it icloudpd sync-icloud.sh --Initialise
|
||
if [ $? -eq 0 ]; then
|
||
echo -e "\033[32m认证成功!\033[0m"
|
||
else
|
||
echo -e "\033[31m认证失败,请重试\033[0m"
|
||
fi
|
||
;;
|
||
logs)
|
||
echo -e "\033[36m查看实时日志 (Ctrl+C 退出)...\033[0m"
|
||
docker logs -f icloudpd
|
||
;;
|
||
status)
|
||
docker ps --filter "name=icloudpd" --format "table {{.Status}}\t{{.Ports}}"
|
||
docker logs --tail 10 icloudpd
|
||
;;
|
||
restart)
|
||
echo -e "\033[33m重启容器...\033[0m"
|
||
docker compose restart
|
||
echo -e "\033[32m完成!\033[0m"
|
||
;;
|
||
sync)
|
||
echo -e "\033[33m立即触发同步...\033[0m"
|
||
docker exec icloudpd sync-icloud.sh --DownloadOnce
|
||
;;
|
||
*)
|
||
echo -e "\033[31m未知命令: $1\033[0m"
|
||
echo ""
|
||
show_help
|
||
;;
|
||
esac
|