Если я выполняю команды вручную, все работает нормально.
Есть зацепка. Это может быть проблема пути. Когда я что-то пишу, особенно скрипт, мне всегда нравится включать путь к команде.
$ which date
/usr/bin/date
Затем я бы добавил в скрипт проверку ошибок:
if [ -f /target/data.ini ]
then
# Note spaces separating the parenthesis from the command
/bin/mv /target/data.ini /target/data_$( /usr/bin/date +"%Y%m%d_%H%M%S" ).ini
if [ $? -ne 0 ]
then
echo "Error on MV command"
exit
fi
else
echo "Error: Can't find /target/data.ini"
exit
fi
cp /install/data.ini /target/data.ini
#Same type of error checking here
Это должно исправить или пролить свет на вашу ошибку.