Subj : Re: MakeNL on Linux
To   : Warpslide
From : acn
Date : Sat Sep 11 2021 09:57 am

Am 08.09.21 schrieb Warpslide@21:3/110 in FSX_BBS:

Hallo Warpslide,

W> This is awesome, thanks so much Anna.

No problem! :)

ac>> arccopy         Z zip -j9o
ac>> arcmove         Z zip -j9mo

W> Would it be these lines that create the .Z## file that's distributed?

Normally, yes.
I have this comment in my makenl.ctl:

; always compress (0), don't create diff:
;threshold      0 -1

I have to re-read the documentation, but I guess enabling the
threshold line would normally create the .Z## files via makenl.

But I've put this part into my script.

ac>> I've created a shell script around all this which runs makenl, creates
ac>> the .zip files, adds it to the Synchronet filebase and hatches it to
ac>> the fileecho.

W> Or this is where the .Z## is made?

In my case, yes. I don't remember at the moment why I've used this
way, but there has been a reason :)

ac>> This script is run via a cronjob every friday in the morning.
ac>> If of interest, I can post this script.

W> I wouldn't mind having a gander, please & thanks.

My script looks like this:

-------------< process.sh >--------------
#!/bin/bash

# first: run makenl to create new nodelist
if ! makenl; then
 echo "MakeNL error!"
 exit 1
fi

# get latest nodelist file and create ZIP filename

nlfile=$(ls ./output/WEEDNET.[0-9]* -rt|tail -1)
nlfile=$(basename $nlfile)
zipname=${nlfile/\.[0-9]/.Z}
day=${nlfile##*.}
year=$(date +%Y)

# create ZIP file:
# -j: ignore directories
# -9: max compression
# -o: zip filedate = latest filedate in archive

zip -j9o ./output/${zipname} ./output/${nlfile}

# copy to SBBS filebase, add it fo filebase and hatch it:
cp ./output/${zipname} /sbbs/files/weednet/nodelist

SBBSCTRL=/sbbs/ctrl
/sbbs/exec/addfiles weednet_nodelist ${zipname} "WeedNet nodelist for
day ${day}/${year}"
/sbbs/exec/jsexec /sbbs/exec/hatchit-acn.js -dir=WEEDNET_NODELIST -
file=${zipname} -area=WEEDNET-NODELIST -origin=420:2/1

# copy the nodelist to SBBS nodelist directory:
cp ./output/${nlfile} /sbbs/data/nodelist/weednet.nl
-------------< process.sh >--------------

The most complicated part of the script is the filename creation part
where I've used some bash string mangling functions :)

Regards,
Anna

--- OpenXP 5.0.50
* Origin: Imzadi Box Point (21:3/127.1)