Management ScriptsΒΆ

Let’s say you want to write a script to do an import or some other management task. This is nice and easy to do locally during development, but then if you want to use that command in production this is harder. A typical example is a script to import raw data.

Silver Lining has support for running commands on applications, as though they were local applications. It looks like this:

$ cd myapp-app
$ silver run LOCATION import-script --setting=value ~/import-data.zip

silver run takes as an argument the name of the script to run; this should be a script that has been uploaded to the server (either a path relative to your app root, or a script in your app’s bin/ directory). If you edit the file locally and don’t do silver update remember that it will use the old version of the script.

The script must be a Python script. The path will be appropriately setup so all your libraries will be ready, and environmental variables set, and then the script will be run, passing all arguments you provide to the script.

Also any arguments that you pass that point to a file or directory that exists will cause those files to be uploaded, and the remote filenames will be substituted. So in the example ~/import-data.zip will be uploaded to the server.

Note that these scripts can be run as www-data (the default) or you can use --user=www-mgr to run the script as www-mgr (the normal user used to manage the deployment of scripts) or --user=root to run the script as root.

Previous topic

Developing Using Silver Lining

Next topic

PHP Support

This Page