У меня установлена БД Oracle на экземпляре ec2, и я хочу запустить сценарий на этом сервере, чтобы всякий раз, когда я помещал сценарий в корзину s3, конвейер кода запускал и развертывал сценарий в экземплярах группы развертывания.у меня включено управление версиями S3, мой источник - S3, а развертывание - код развертывания
, но мой сценарий оболочки продолжает давать сбой из-за ошибки разрешения, sqlplus нужен сценарий для запуска от имени пользователя oracle, но он выдает следующую ошибку!
Ниже приведен код внутри файла install_dependencies.sh:
rm -rf /oracle/backup/*
echo "oracle" | sudo -S sleep 2 && sudo su - oracle
sqlplus -s "/ as sysdba" <<EOF
whenever sqlerror exit sql.sqlcode;
set echo on;
set serveroutput on;
create table demo01 id(a number);
insert into demo01 values(1);
commit;
exit;
EOF
Код файла моего приложения:
version: 0.0
os: linux
files:
- source: /db.dmp
destination: /oracle/backup/
hooks:
BeforeInstall:
- location: scripts/install_dependencies
timeout: 3000
runas: oracle
IВы уже сделали запись для Oracle в файле / etc / sudoers, но она также не сработала.Итак, как я могу запустить скрипт оболочки от имени пользователя без полномочий root с помощью code-deploy-agent для ec2?