5 function sense_all () {
6 virsh -c lxc:// list | grep running | while read line; do
7 pid=$(echo $line | cut -d' ' -f1)
8 lxc_name=$(echo $line | cut -d' ' -f2)
9 timestamp=$(cat $path/$lxc_name/$lxc_name.timestamp)
10 echo "$lxc_name;$pid;$timestamp"
14 function start_all () {
15 virsh -c lxc:// list --inactive | grep " - "| while read line; do
16 lxc_name=$(echo $line | cut -d' ' -f2)
17 virsh -c lxc:// start $lxc_name
21 function stop_all () {
22 virsh -c lxc:// list | grep running | while read line; do
23 lxc_name=$(echo $line | cut -d' ' -f2)
24 virsh -c lxc:// destroy $lxc_name
28 function sense_lxc () {
31 if [ "$(virsh -c lxc:// dominfo $lxc_name | grep State| cut -d' ' -f11)" == "running" ] ; then
32 pid=$(virsh -c lxc:// dominfo $lxc_name| grep Id | cut -d' ' -f14)
33 timestamp=$(cat $path/$lxc_name/$lxc_name.timestamp)
34 echo "$lxc_name;$pid;$timestamp"
38 function start_lxc () {
41 if [ "$(virsh -c lxc:// dominfo $lxc_name | grep State| cut -d' ' -f11)" != "running" ] ; then
42 virsh -c lxc:// start $lxc_name
46 function stop_lxc () {
49 if [ "$(virsh -c lxc:// dominfo $lxc_name | grep State| cut -d' ' -f11)" != "shut off" ] ; then
50 virsh -c lxc:// destroy $lxc_name
54 function restart_all () {
60 function restart_lxc () {
67 function destroy_all () {
70 virsh -c lxc:// list --all | while read line; do
71 lxc_name=$(echo $line | cut -d' ' -f2)
72 virsh -c lxc:// undefine $lxc_name
73 rm -fr $path/$lxc_name
77 function destroy_lxc () {
81 virsh -c lxc:// undefine $lxc_name
82 rm -fr $path/$lxc_name
86 echo "Usage: lxc-driver.sh [options]"
88 echo " This command is used to manage and retreive information on existing lxc containers "
89 echo "lxc-driver.sh -c <COMMAND>_all"
90 echo "lxc-driver.sh -c <COMMAND>_lxc -n <LXCNAME>"
91 echo "<COMMAND> in {sense,start,stop,restart,destroy}"
99 while getopts "c:n:" opt ; do
109 sense_all) sense_all ;;
110 start_all) start_all ;;
111 stop_all) stop_all ;;
112 restart_all) restart_all ;;
113 destroy_all) destroy_all ;;
114 sense_lxc) sense_lxc $lxc;;
115 start_lxc) start_lxc $lxc;;
116 stop_lxc) stop_lxc $lxc;;
117 restart_lxc) restart_lxc $lxc;;
118 destroy_lxc) destroy_lxc $lxc;;