/* $VER: Backup.rexx 1.0 ©1997 Paul Middleton ARexx script for automatic backups at specified intervals. Backup software needs to be able to be launched from cli. --------------------------------------------------------------*/ /* Checking if backup device connected. It needs file called "filecheck" to be present on target device. I's a bit kludgy, but then so's the squirrel...*/ EXISTS ('DEVICE:filecheck') /* CHANGE DEVICE NAME */ IF RESULT>0 THEN SAY 'Checking If Backup Is Due' ELSE EXIT ENDIF /* Getting the number of days since Jan 1st and then checking when last backup was */ CHECKDATE=DATE(D) CALL OPEN('lastbackup', 'DEVICE:filecheck', 'r') /* CHANGE DEVICE NAME */ lastread=READLN('lastbackup') IF checkdate-lastread>14 THEN CALL overdue /* 14=REQUIRED TIME BETWEEN BACKUPS */ CALL CLOSE 'lastbackup' /* Will perform backup every 14 days or immediately, if overdue */ SELECT WHEN checkdate//14=0 THEN CALL backup /* 14=REQUIRED TIME WHEN checkdate//14>0 THEN SAY 'No Backup Due' BETWEEN BACKUPS */ END EXIT /* Launch software from CLI command according to info received */ overdue: SAY 'Backup Overdue - Starting Backup Now' ADDRESS COMMAND 'DEVICE:PATH ARGS' /* ENTER FULL PATH OF SOFTWARE WITH ARGS */ CALL writedate backup: ADDRESS COMMAND 'DEVICE:PATH ARGS' /* ENTER FULL PATH OF SOFTWARE WITH ARGS */ CALL writedate /* Write date of backup to filecheck */ writedate: CALL OPEN('lastbackup', 'DEVICE:filecheck', 'W') /* CHANGE DEVICE NAME */ beginfile=SEEK('lastbackup', 0, 'b') backupday=WRITELN('lastbackup', checkdate) EXIT