Имеются 2 скрипта: страт/стоп виртуальной машины и скрипт бэкапа.
В скрипте бэкапа имеется конструкция вида:
logging "Stop service $ИмяВМ" && logging "VirtualBox service script returned: `service "$ИмяВМ" stop`" && \
(этот блок описывает копирование файлов и может завершиться как true или false) || logging "debug: перепенные и их значения"
true && true && (true или false) || logging debug
Скрипт бэкапа запускается и корректно работает от sudo и под root с любыми допустимыми для него параметрами (включая all), но начинает «чудить» при запуске кроном.
Запуск кроном:
Скрипт получает параметр all, что интерпритируется как «бэкап в порядке описанной очереди» (в очереди более 3-х ВМ).
При бэкапе первой же машины даёт осечку блок копирования файлов (не важно почему) и скрипт сразу переходит к бэкапу второй машины - именно тут начинается что-то странное. До третьей машины бэкап не доходит.
Лог бэкапа первой машины:
2015-01-15 06:15:03 AM Stop service AP
2015-01-15 06:15:14 AM VirtualBox service script returned: VirtualBox guest AP stoping...
2015-01-15 06:15:14 AM Start FastCopy (bigsync)...
2015-01-15 06:15:16 AM debug: $1=AP, folder=/home/vbox/AP, config_file=AP.vbox, hdd_file=AP.vdi
Лог бэкапа второй машины:
2015-01-15 06:15:16 AM Stop service LA
2015-01-15 06:15:21 AM VirtualBox service script returned: VirtualBox guest LA stoping...