RunLast creates an environment to run commands or shell-scripts after QPKG re-integration has occurred during QTS NAS bootup.
This allows you to run scripts dependent on QPKGs during QTS startup.
Important: RunLast is no-longer effective on QTS 5.2.0 or-later, as these QTS versions have been modified to start QPKGs asynchronously. I can’t force QTS to load QPKGs in a specific order anymore.
QPKGs must now make use of the ‘Dependency’ key. This requires QPKG developers to name any other QPKGs their QPKG depends-on and to set this key post-install with the other QPKG names as the key value.
If you’re running QTS 5.2.0 or-later, you can uninstall RunLast. However, this package will continue to be maintained for those running older QTS versions.
What it does
This package creates a scripts directory in the package installation path:
init.d
scripts
Place your SysV-style scripts in the init.d directory. These will be executed with a start parameter after NAS startup, and with a stop parameter before NAS shutdown. Scripts in the scripts directory will be executed only during startup, and always after the custom init.d start script execution.
Installation
Available in the MyQNAP repo, and can also be installed via the sherpa package manager.
Notes
When this package is installed, there’s not much to see. Find the package icon and click the ‘Open’ button to display the current log file - any stdout and stderr from your scripts will be shown here.
The log file is viewable via your web browser but is not a real web document, so it can change without your browser noticing. Whenever viewing the log, ensure you force a page refresh: CTRL+F5.
To jump to the scripts directory:
cd $(getcfg RunLast Scripts_Path -f /etc/config/qpkg.conf)
Or, to jump to the init.d directory:
cd $(getcfg RunLast SysV_Path -f /etc/config/qpkg.conf)
The source for this project can be found on GitHub.
Please do not stop developing “RunLast", please !. And don’t make it worse than it is! It already follows the right approach, especially because of the nice structure of the SysV start scripts. You can get almost anything to run with it if the user considers the dependencies of his application on other QPKG’s and steals a little from their start scripts. You should mention that and point it out!
I Think “RunLast” is feature enough in implementing a custom start- and stop-environment to QNAP-Devices
Maybe you can think of something in the future that allows you to generate your own dependency key from all installed, active QPKGs when starting.
… and a wooden spoon as an icon, seriously?
Best regards,
Mandragor59
***** There are no problems, there are only challenges *****
Already tried it. Unfortunately, QTS stalls when attempting to load a dependency key with more than a handful of values.
Yes, you understand the reference right? Besides, you had your chance to suggest something better.
I’ve been considering adding support for QTS 5.2.0 and-later by getting RunLast to wait for the QTS QPKG init proc to exit. When it does, then assume all QPKGs are started and run the user-scripts.
I’ll do some work on this and see how reliable it is. Maybe RunLast can be resumed?
Please do it! Absolutely ! In any case ! They will love you for it!
… and maybe you consider to make your “description” not so negative and ask for uninstallation right away ! Maybe you better add a note that in QTS 5.2.0 or later you have to consider the dependencies to the required QPKG’s in the start scripts (at the moment).
***** There are no problems, only challenges *****
…
Well, not really. The only reference I can think of as an amateur cook to my wooden spoon is that it doesn’t fit in my mouth. Perhaps you can enlighten an older German user. I would (if asked again) rather choose a medal or a winner’s trophy with the inscription “Last Place”.
I like to set expectations low, right from the outset.
There’s already a note in the OP about this.
In various countries (such as mine with a strong sports culture), the “wooden spoon award” is given to a sports team that comes dead-last each year. It’s not a real award.