2016-09-16 4 views
0

В настоящее время у нас есть сценарий bash, который будет проходить через кэш-память Bitbucket каждого репозитория на жестком диске и резервное копирование этого жесткого диска. В последнее время, хотя количество хранилищ превысило Bitbucket апи pagelen счетчик 100. Я был не в состоянии найти лучший способ сделать это так, что мы можем резервное копирование более 100Проблемы с использованием сценария bash для резервного копирования bitbucket

repositories=`curl -s -S --user <user>:<password> https://api.bitbucket.org/2.0/repositories/<name>\?pagelen\=100 | jq -r '.values[] | "\(.full_name)"'` 

echo "backup-bitbucket STARTED -- " $(date +"%m-%d-%Y"+"%T") >> ${LOGFILE} 

# Back up each bitbucket repository by cloning or pulling the latest changes 
for i in $repositories 
do 
    echo "Starting backup for repository ${i}..." >> ${LOGFILE} 

    if [ -d "${BACKUPTODIR}${i}" ]; then 
      git -C ${BACKUPTODIR}${i} pull 
    else 
      git clone https://<user>:<password>@bitbucket.org/${i}.git ${BACKUPTODIR}${i} 
    fi 

    echo "Completing backup for repository ${i}..." >> ${LOGFILE} 
done 

Любая помощь в этом вопросе было бы оценено

+1

попробуйте добавить '& страницу = 2', чтобы увидеть, если вы получите следующие 100 записей – CMPS

+0

, если я отредактируйте завиток, чтобы включить '\? pagelen \ = 100 & page = 2' преобразование jq не произойдет, и я получаю прямо JSON –

+0

Проверьте мой ответ, вам нужно добавить котировки вокруг URL-адреса – CMPS

ответ

1

Я попробовал это на своем терминале, и, возможно, в URL можно добавить опцию page.

Так &page=2 дает следующие 100 результатов

При добавлении &page убедитесь, что вы положили в кавычки URL

+0

Спасибо за помощь! –