- Добавление\удаление заданий crontab через shell, тень_pavel_simple, 18:28 , 19-Авг-13 (1)
> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через > шелл. > Если добавлять непосредственно в файл, /var/spool/cron/username , то крон отваливается > с ошибкой: > /usr/sbin/cron[23287]: (amx) WRONG INODE INFO (crontabs/username) man crontab
- Добавление\удаление заданий crontab через shell, allez, 18:55 , 19-Авг-13 (2)
>> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через >> шелл. >> Если добавлять непосредственно в файл, /var/spool/cron/username , то крон отваливается >> с ошибкой: >> /usr/sbin/cron[23287]: (amx) WRONG INODE INFO (crontabs/username) > man crontab Сдается мне, что автор темы этот ман все же читал, по крайней мере, crontab -e он упомянул. Возможно он хочет редактировать кронтаб не интерактивно, а из скрипта...
- Добавление\удаление заданий crontab через shell, fire002, 19:01 , 19-Авг-13 (3)
>>> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через >>> шелл. >>> Если добавлять непосредственно в файл, /var/spool/cron/username , то крон отваливается >>> с ошибкой: >>> /usr/sbin/cron[23287]: (amx) WRONG INODE INFO (crontabs/username) >> man crontab > Сдается мне, что автор темы этот ман все же читал, по крайней > мере, crontab -e > он упомянул. Возможно он хочет редактировать кронтаб не интерактивно, а из скрипта... Именно из скрипта.
- Добавление\удаление заданий crontab через shell, михалыч, 19:07 , 19-Авг-13 (4)
>>>> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через >>>> шелл. >>>> Если добавлять непосредственно в файл, /var/spool/cron/username , то крон отваливается >>>> с ошибкой: >>>> /usr/sbin/cron[23287]: (amx) WRONG INODE INFO (crontabs/username) >>> man crontab >> Сдается мне, что автор темы этот ман все же читал, по крайней >> мере, crontab -e >> он упомянул. Возможно он хочет редактировать кронтаб не интерактивно, а из скрипта... > Именно из скрипта.А в чём трудность? echo "* * * * * /bin/echo test" >> /var/cron/tabs/user
- Добавление\удаление заданий crontab через shell, тень_pavel_simple, 19:11 , 19-Авг-13 (5)
>>>> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через >>>> шелл. >>>> Если добавлять непосредственно в файл, /var/spool/cron/username , то крон отваливается >>>> с ошибкой: >>>> /usr/sbin/cron[23287]: (amx) WRONG INODE INFO (crontabs/username) >>> man crontab >> Сдается мне, что автор темы этот ман все же читал, по крайней >> мере, crontab -e >> он упомянул. Возможно он хочет редактировать кронтаб не интерактивно, а из скрипта... > Именно из скрипта.не уверен что читал The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename ``-'' is given.
- Добавление\удаление заданий crontab через shell, михалыч, 19:33 , 19-Авг-13 (6)
>[оверквотинг удален] >>>> man crontab >>> Сдается мне, что автор темы этот ман все же читал, по крайней >>> мере, crontab -e >>> он упомянул. Возможно он хочет редактировать кронтаб не интерактивно, а из скрипта... >> Именно из скрипта. > не уверен что читал > The first form > of this command is used to install a new > crontab from some named file or standard input if the pseudo-filename > ``-'' is given.Так точно! )) echo "* * * * * /bin/echo test" | crontab -u username - Хотя у меня и тупо >> сработало.
- Добавление\удаление заданий crontab через shell, fire002, 21:13 , 19-Авг-13 (7)
>[оверквотинг удален] >>> Именно из скрипта. >> не уверен что читал >> The first form >> of this command is used to install a new >> crontab from some named file or standard input if the pseudo-filename >> ``-'' is given. > Так точно! )) > echo "* * * * * /bin/echo test" | crontab -u username > - > Хотя у меня и тупо >> сработало.Оно то работает, но стоит зачада еще как-то удалять уже не нужные строки из файла, а не тупо -r Попробую конечно седом, поглядим.
- Добавление\удаление заданий crontab через shell, Аноним, 21:48 , 19-Авг-13 (8)
> Оно то работает, но стоит зачада еще как-то удалять уже не нужные строки из файла, а не тупо -r вначале выгружаешь что есть с -l, правишь как надо и потом заливаешь обратно. Могу ещё раз повторить но это уже за деньги. > Попробую конечно седом, поглядим. Чем сподобишься. Это уже дело 18-ое. Идею тебе _дали_.
- Добавление\удаление заданий crontab через shell, Andrey Mitrofanov, 22:59 , 19-Авг-13 (9)
> Именно из скрипта.$ crontab -r $ add(){ ls -l $1; echo "* * * * * echo TEXT" >>$1; touch -d '+5 minutes' $1; } $ export -f add $ VISUAL=add crontab -e no crontab for abm - using an empty one -rw------- 1 user crontab 888 Авг 19 22:55 /tmp/crontab.NyUpaG/crontab crontab: installing new crontab $ crontab -l |grep -v ^# * * * * * echo TEXT $ add(){ ls -l $1; echo "* * * * * cat FILE" >>$1; touch -d '+5 minutes' $1; } $ VISUAL=add crontab -e -rw------- 1 user crontab 908 Авг 19 22:56 /tmp/crontab.S86Hwg/crontab crontab: installing new crontab $ crontab -l |grep -v ^# * * * * * echo TEXT * * * * * cat FILE $ del(){ sed -i "/echo TEXT$/d" $1; touch -d '+5 minutes' $1; } $ export -f del $ VISUAL=del crontab -e crontab: installing new crontab $ crontab -l |grep -v ^# * * * * * cat FILE $ _
- Добавление\удаление заданий crontab через shell, fire002, 02:39 , 20-Авг-13 (10)
>> Именно из скрипта.Что-то не работает у меня ваш вариант, хотя может и я туплю. $ add(){ ls -l $1; echo "* * * * * echo TEXT" >>$1; touch -d '+5 minutes' $1; } $ export -f add export: 18: Illegal option -f $ VISUAL=add crontab -e no crontab for amx - using an empty one /bin/sh: add: not found crontab: "add" exited with status 127
- Добавление\удаление заданий crontab через shell, Andrey Mitrofanov, 10:46 , 20-Авг-13 (11)
> $ export -f add > export: 18: Illegal option -fУ меня работает. GNU/Linux, GNU bash, GNU coreutiuls. > /bin/sh: add: not found Бывает.
- Добавление\удаление заданий crontab через shell, михалыч, 11:31 , 20-Авг-13 (12)
>>> Именно из скрипта. > Что-то не работает у меня ваш вариант, хотя может и я туплю. Нет. Ты не тупишь. У меня также как у тебя работает.)) BSD ? Мужайся! Братья масоны не оставят в беде! То, что доктор прописал. cat create_crontab.sh
#!/bin/sh create_crontab() { local b e b=$1 e=$2
if crontab -u username -l > /dev/null 2>&1; then TMPFILE=`mktemp -t username` || exit 1 cat > $TMPFILE crontab -u username -l | sed -e "/^$b\$/,/^$e\$/d" | \ cat - $TMPFILE | crontab -u username - rm $TMPFILE else crontab -u username - fi }
create_crontab '#BEGIN_JOB_1' '#END_JOB_1' <<EOT #BEGIN_JOB_1 MAILTO=root
*/5 * * * * echo TEXT #END_JOB_1 EOT
cat delete_crontab.sh
#!/bin/sh delete_crontab() { local b e b=$1 e=$2
TMPFILE=`mktemp -t username` || exit 1 crontab -u username -l | sed -e "/^$b\$/,/^$e\$/d" > $TMPFILE if [ -s $TMPFILE ]; then crontab -u username -l | sed -e "/^$b\$/,/^$e\$/d" | crontab -u username - echo "These are the remaining lines:" crontab -u username -l else echo y | crontab -u username -r echo "crontab for user username removed" fi rm $TMPFILE }
delete_crontab '#BEGIN_JOB_1' '#END_JOB_1'
Идея с поста 8 Принцип с #BEGIN_JOB_* и #END_JOB_* думаю понятен, то есть удаляем только то что между конкретными строками, а остальное переписываем.
- Добавление\удаление заданий crontab через shell, Andrey Mitrofanov, 11:21 , 21-Авг-13 (13)
>>>> Именно из скрипта. >> Что-то не работает у меня ваш вариант, хотя может и я туплю. > Нет. Ты не тупишь. У меня также как у тебя работает.)) > BSD ? Мужайся! > Братья масоны не оставят в беде!И построят братский race condition. > То, что доктор прописал. crontab -u username -l | ... | crontab -u username - Оно совсем не страшно. Если _не сработает_ одно удаление или добавление из... тысячи или миллиона. Тем более у какого-то там плотника-каменщика-подметальщика и где-то там очень далеко.
- Добавление\удаление заданий crontab через shell, pavlinux, 05:22 , 22-Авг-13 (14)
Чёй-то вы намутили
#!/bin/shCRONFILE=/somewhere/somefile EVENT="5 06 * 2 * echo TEXT" # Добавить echo $EVENT >> $CRONFILE # Удалить diff -u <(grep -v $EVENT $CRONFILE) <(cat $CRONFILE) | patch -R $CRONFILE;
- Добавление\удаление заданий crontab через shell, Andrey Mitrofanov, 07:31 , 22-Авг-13 (16)
> #!/bin/sh Удостаиваешься звания младшего встраивальщика-каменщика. > EVENT="5 06 * 2 * echo TEXT" --------------------^^--^^ "*" > diff -u <(grep -v $EVENT $CRONFILE) <(cat $CRONFILE) | patch -R $CRONFILE; ---------------^^^^^ "-f" ?
- Добавление\удаление заданий crontab через shell, михалыч, 16:11 , 22-Авг-13 (17)
> Чёй-то вы намутили > > #!/bin/sh > CRONFILE=/somewhere/somefile > EVENT="5 06 * 2 * echo TEXT" > # Добавить > echo $EVENT >> $CRONFILE > # Удалить > diff -u <(grep -v $EVENT $CRONFILE) <(cat $CRONFILE) | patch -R $CRONFILE; > Так не честно! Это читерство! Если по чесноку, надо использовать сам crontab А мухлевать я и сам умею!)) crontab -u username -l * * * * * echo TEST * * * * * echo TEXT
#!/bin/sh CRONFILE="/var/cron/tabs/username" EVENT="* * * * * echo TORT"
# Добавить echo "${EVENT}" >> ${CRONFILE}
crontab -u username -l * * * * * echo TEST * * * * * echo TEXT * * * * * echo TORT
#!/bin/sh CRONFILE="/var/cron/tabs/username" EVENT="* * * * * echo TEXT"
# Удалить sed -i "" "/${EVENT}/d" ${CRONFILE}
crontab -u username -l * * * * * echo TEST * * * * * echo TORT
- Добавление\удаление заданий crontab через shell, pavlinux, 01:43 , 25-Авг-13 (18)
>> diff -u <(grep -v $EVENT $CRONFILE) <(cat $CRONFILE) | patch -R $CRONFILE; > Так не честно! Это читерство! > sed -i "" "/${EVENT}/d" ${CRONFILE} А сам-то!
- Добавление\удаление заданий crontab через shell, pavlinux, 05:25 , 22-Авг-13 (15) –1
> Камрады, подскажите как реализовать редактирование юзерского крона(crontab -e) через шелл.А ваще у вас питатые операционки $~> crontab -u $USER -l bash: /usr/bin/crontab: Отказано в доступе
|