123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/sh /etc/rc.common
- . /lib/functions.sh
- START=99
- STOP=00
- run_command() {
- local command="$1"
- $command
- }
- start_container() {
- local cfg="$1"
- local name
- config_get name "$cfg" name
- config_list_foreach "$cfg" command run_command
- if [ -n "$name" ]; then
- /usr/bin/lxc-start -n "$name"
- fi
- }
- max_timeout=0
- stop_container() {
- local cfg="$1"
- local name timeout
- config_get name "$cfg" name
- config_get timeout "$cfg" timeout 300
- if [ "$max_timeout" -lt "$timeout" ]; then
- max_timeout=$timeout
- fi
- if [ -n "$name" ]; then
- if [ "$timeout" = "0" ]; then
- /usr/bin/lxc-stop -n "$name" &
- else
- /usr/bin/lxc-stop -n "$name" -t $timeout &
- fi
- fi
- }
- start() {
- config_load lxc-auto
- config_foreach start_container container
- }
- stop() {
- config_load lxc-auto
- config_foreach stop_container container
- # ensure e.g. shutdown doesn't occur before maximum timeout on
- # containers that are shutting down
- if [ $max_timeout -gt 0 ]; then
- sleep $max_timeout
- fi
- }
|