Написание сценария оболочки для установки задания cron

Я впервые пишу сценарий оболочки, и у меня очень мало информации на данной временной шкале. Хотя я читаю разные уроки, но я тоже подумал спросить, чего я хочу здесь.

Я хочу написать сценарий оболочки, который на любой машине редактирует задание cron, добавляет новый сценарий, который будет выполняться каждые 15 минут. поэтому в основном мне нужно добавить запись

0,15,30,45 * * * * /home/personal/scripts/cronSqlprocedure.sh

Что я хочу в сценарии оболочки

  • , это сначала изменит разрешения / права выполнения для cronSqlprocedure.sh
  • отредактируйте существующее задание cron и добавьте в него эту новую запись.

Если возможно, я бы тоже хотел написать cronSqlprocedure через сценарий оболочки, так как для этого требуется пара переменных, которые могут меняться от системы к системе.

export ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=HEER

Эти строки должны быть настроены для каждой машины в cronSqlprocedure.sh .

#!/bin/bash
ORACLE_HOME="/opt/app/oracle/product/11.2.0/dbhome_1"
ORACLE_SID="HEER"
ORACLE_USER="USER1"
ORACLE_PASSWORD="USERPASS"

echo "export ORACLE_HOME=$ORACLE_HOME" >> $PWD/sqlcronprocedure.sh
echo "export PATH=\$ORACLE_HOME/bin:\$PATH" >> $PWD/sqlcronprocedure.sh
echo "export ORACLE_SID=$ORACLE_SID" >> $PWD/sqlcronprocedure.sh
echo "rTmpDir=/tmp" >> $PWD/sqlcronprocedure.sh

echo "sqlplus -s $ORACLE_USER@$ORACLE_SID/$ORACLE_PASSWORD  > $rTmpDir/deleteme.txt 2>&1 <<EOF" >> $PWD/sqlcronprocedure.sh
echo "    select 1 from dual;" >> $PWD/sqlcronprocedure.sh
echo "    execute another_script(1000,14);" >> $PWD/sqlcronprocedure.sh
echo "EOF" >> $PWD/sqlcronprocedure.sh

chmod 755 $PWD/sqlcronprocedure.sh

crontab -l > $PWD/sqlcorn.sh
echo "0,15,30,45 * * * * $PWD/sqlcronprocedure.sh" >> $PWD/sqlcorn.sh
crontab $PWD/sqlcorn.sh
9
задан Em Ae 6 September 2012 в 14:04
поделиться