Daily updater #706
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Daily updater | |
on: | |
schedule: | |
- cron: '20 00 * * *' | |
permissions: | |
contents: write | |
jobs: | |
update: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: What time is it ? | |
run: | | |
date -u | |
TZ="Europe/Paris" date | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install prerequisites | |
run: | | |
sudo apt -qq install fd-find | |
- name: Prepare global variables | |
run: | | |
echo "ZONES_DIR=$GITHUB_WORKSPACE/zones" >> $GITHUB_ENV | |
echo "DAILY_DIR=$GITHUB_WORKSPACE/daily" >> $GITHUB_ENV | |
- name: Rsync data | |
env: | |
SSH_REMOTE_SERVER_KEY: ${{ secrets.SSH_REMOTE_SERVER_KEY }} | |
run: | | |
cd /tmp/ | |
echo "$SSH_REMOTE_SERVER_KEY" > /tmp/sshkey | |
chmod 600 /tmp/sshkey | |
# rsynced data is in /tmp/zones | |
rsync --stats -az -e "ssh -o LogLevel=quiet -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /tmp/sshkey" dailynrdscan@ssh-dailynrdscan.alwaysdata.net:/home/dailynrdscan/www/zones . | |
- name: Merge collected zones | |
run: | | |
cd /tmp/ | |
python -Wall "$GITHUB_WORKSPACE/_scripts/daily_merge.py" -f "/tmp/zones" -r "$ZONES_DIR" | |
- name: Generate today_new and yesterday_new files | |
run: | | |
cd "$DAILY_DIR" | |
(fdfind -a -g 'today_new.gz' "$ZONES_DIR" -x zcat) | tee | gzip > "./today_new.gz" | |
(fdfind -a -g 'yesterday_new.gz' "$ZONES_DIR" -x zcat) | tee | gzip > "./yesterday_new.gz" | |
- name: Git commit | |
run: | | |
git config user.name updating-bot | |
git config user.email github-actions@github.com | |
cd "$ZONES_DIR" | |
git add ./* | |
cd "$DAILY_DIR" | |
git add "./today_new.gz" "./yesterday_new.gz" | |
git commit -a -m "updating bot - $(date '+%Y/%m/%d')" | |
git pull | |
git push |