Bu yazıyı birleştirilmiş Github depolarının bir klasörünü günlük olarak güncellemek için birlikte ekledim. Bir komut isteminden ararsam iyi çalışır, ancak bir cron işi olarak çalıştırıldığında id_rsa'mın nasıl güvenilir bir şekilde kullanılacağını anlayabilirim. eval 'ssh-agent'
sadece bunu yapma girişimidir, ancak herhangi bir olumlu etkisi olmadığı görülmüştür. Bir cron işi üzerinden çalışan bash komut dosyasından SSH anahtarına erişme
#!/bin/sh
LOGPATH=log.txt
eval 'ssh-agent'
cd /path/to/update/folder
echo "-------START UPDATE-------">$LOGPATH
echo "Updating repos:">>$LOGPATH
date "+%F %T">>$LOGPATH
COUNT=1
find . -maxdepth 1 -type d | while read dir; do
cd "$dir"
LEN=$"${#dir}"
if [ $LEN != "1" ]
then
echo "*********">>$LOGPATH
echo "$COUNT. " ${dir:2}>>$LOGPATH
/usr/local/bin/git pull upstream master>>$LOGPATH 2>> $LOGPATH
/usr/local/bin/git push origin master>>$LOGPATH 2>> $LOGPATH
let COUNT=COUNT+1
fi
cd "$OLDPWD"
done
echo "-------END UPDATE-------">>$LOGPATH
exit 0
Bu
muhtemelen genel olarak süreci hakkında gitmek için korkunç verimsiz bir yoldur, ama çalışıyor ve şimdiye kadar bunu görmüyorum. Kredilerimi kullanabilseydim, çok mutlu olurdum.
Asla ssh-add'i kullanmadım, ama ben OS X'deyim, bu yüzden benim tahminim benim için olan bişey. Şifre içermeyen bir anahtar oluşturmak ve ssh-add kullanmak hile yapmış gibi görünüyor. Ayrıca Greg'in önerdiği gibi .ssh/config dizinlerini de yaptım. Şimdi çalışıyor! Teşekkürler –