06-20-2007
only root's crontab gets not saved
Hi,
Something funny is happening over here: when a regular user edits his cron-file (crontab -e) saves and exits vi the correct new cron-file gets installed and saved to disk. But if root does the same, vi saves it but if I then check the cron-file it has the previous contents! I did strace (== truss on other platforms) and I see the following (edited for brievety):
chdir("/var/spool/cron/crontabs") = 0
open("/var/spool/cron/crontab.8195", O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 0600) = 3
chown32("/var/spool/cron/crontab.8195", 0, 0) = 0
open("root", O_RDONLY) = 4
/* fd 4 (original cron file) gets copied to fd 3, then vi gets invoked on crontab.8195 */
/* vi exits */
unlink("/var/spool/cron/crontab.8195") = 0
lseek(3, 0, SEEK_SET) = 0
open("root.new", O_WRONLY|O_APPEND|O_CREAT|O_TRUNC, 0600) = 5
/* copies fd 3 to fd 5
rename("root.new", "root") = 0
So things DO get editted and written correctly but still the output-file is the original?!
crontab version 2.3.3
dcron version 2.3.3
Linux system.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hello All,
I did very stupid mistake and lost all my crontab enteries on root prompt.
Please help me to solve this issue.
i did entry on root prompt like this.
crontab /home/back.cron
and enters
but when i enter crontab -l so its only showing 1 entry defined in back.cron
and all... (2 Replies)
Discussion started by: wakhan
2 Replies
2. AIX
Good morning everybody. I have just receiedv a complaint from our DBA saying that if he create a scripts to run some Oracle performance scripts using crontab and the scheduling part is ok but the job is failed when I checked on /var/adm/cron/log.
I have tried his scripts using Oracle id directly... (4 Replies)
Discussion started by: kwliew999
4 Replies
3. Solaris
So I'm having a problem with crontab -e. It seems like it should work. And it seems like I should know the answer to this question.
$ su -
# echo $SHELL
/bin/sh
# crontab -e
372
Any thoughts? (2 Replies)
Discussion started by: adelsin
2 Replies
4. UNIX for Dummies Questions & Answers
Hi All,
Ref: "build crontab from a text file" in same forum. (I am not allowed to post URL's in the first post)
We are reorganizing our UNIX Crontab file by first making changes in a word pad text file. The intent is to then copy it back to Crontab. Will this work? Copy and Paste does not... (6 Replies)
Discussion started by: nivedhitha
6 Replies
5. Solaris
Hi everyone,
I got error which is "!bad user (root)" in crontab...
I tried changing password,
I checked etc/cron/cron.allow and cron.deny,
And also I checked the permissions of my files,
its(my crontab script) still not working....
Please help... (12 Replies)
Discussion started by: ijustneeda
12 Replies
6. Red Hat
Greetings/
I have a script listed in my roots crontab
07 9 * * * /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_sp.sh > /opt/HLRSDATA_2010_OCT/logs/HLRTKJob.log
This script contains the following
#!/bin/bash
echo HLRSData Scheduler
cd /opt/HLRSDATA_2010_OCT
/usr/bin/java -Xms32m -Xmx1024m -cp... (6 Replies)
Discussion started by: RedSpyder
6 Replies
7. BSD
Someone can told me where from get the default crontab settings of root for NetBSD 6.0 please :)
### SOLVED ###
The default crontab rules are in etc.tgz /var/cron/tabs/root
# $NetBSD: crontab,v 1.15 2002/11/27 15:09:17 perry Exp $
#
# /var/cron/tabs/root - root's crontab for NetBSD
#... (0 Replies)
Discussion started by: batence
0 Replies
8. Linux
I have a customer who is trying to have files saved as owner root in an application home directory. I've tried setting the sticky bit and but am not having luck. They do not have full root or sudo access.
User = user123
Group = group123
Files are being saved as user123:group123 but they... (2 Replies)
Discussion started by: rkruck
2 Replies
9. UNIX for Beginners Questions & Answers
Hi,
Is there any safe method to provide read access to root's crontab to another user? Just read no other permissions. (1 Reply)
Discussion started by: ctrld
1 Replies
10. Shell Programming and Scripting
Hi,
i have two servers say server A and server B. i have a sudo user say user1 with full privilges on server A and B. i am trying to append the crontab entry of root from server A of server B with the following command. But its appending on A. i need to append it on server B.
please find the... (4 Replies)
Discussion started by: venkitesh
4 Replies
LEARN ABOUT X11R4
crontab
CRONTAB(1) General Commands Manual CRONTAB(1)
NAME
crontab - maintain crontab files for individual users (Vixie Cron)
SYNOPSIS
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
DESCRIPTION
crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron. Each user can have
their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly.
If the /etc/cron.allow file exists, then you must be listed (one user per line) therein in order to be allowed to use this command. If the
/etc/cron.allow file does not exist but the /etc/cron.deny file does exist, then you must not be listed in the /etc/cron.deny file in order
to use this command.
If neither of these files exists, then depending on site-dependent configuration parameters, only the super user will be allowed to use
this command, or all users will be able to use this command.
If both files exist then /etc/cron.allow takes precedence. Which means that /etc/cron.deny is not considered and your user must be listed
in /etc/cron.allow in order to be able to use the crontab.
Regardless of the existance of any of these files, the root administrative user is always allowed to setup a crontab. For standard Debian
systems, all users may use this command.
If the -u option is given, it specifies the name of the user whose crontab is to be used (when listing) or modified (when editing). If this
option is not given, crontab examines "your" crontab, i.e., the crontab of the person executing the command. Note that su(8) can confuse
crontab and that if you are running inside of su(8) you should always use the -u option for safety's sake.
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.
The -l option causes the current crontab to be displayed on standard output. See the note under DEBIAN SPECIFIC below.
The -r option causes the current crontab to be removed.
The -e option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. After you exit
from the editor, the modified crontab will be installed automatically. If neither of the environment variables is defined, then the default
editor /usr/bin/editor is used.
The -i option modifies the -r option to prompt the user for a 'y/Y' response before actually removing the crontab.
DEBIAN SPECIFIC
The "out-of-the-box" behaviour for crontab -l is to display the three line "DO NOT EDIT THIS FILE" header that is placed at the beginning
of the crontab when it is installed. The problem is that it makes the sequence
crontab -l | crontab -
non-idempotent -- you keep adding copies of the header. This causes pain to scripts that use sed to edit a crontab. Therefore, the default
behaviour of the -l option has been changed to not output such header. You may obtain the original behaviour by setting the environment
variable CRONTAB_NOHEADER to 'N', which will cause the crontab -l command to emit the extraneous header.
SEE ALSO
crontab(5), cron(8)
FILES
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/crontabs
There is one file for each user's crontab under the /var/spool/cron/crontabs directory. Users are not allowed to edit the files under that
directory directly to ensure that only users allowed by the system to run periodic tasks can add them, and only syntactically correct
crontabs will be written there. This is enforced by having the directory writable only by the crontab group and configuring crontab com-
mand with the setgid bid set for that specific group.
STANDARDS
The crontab command conforms to IEEE Std1003.2-1992 (``POSIX''). This new command syntax differs from previous versions of Vixie Cron, as
well as from the classic SVR3 syntax.
DIAGNOSTICS
A fairly informative usage message appears if you run it with a bad command line.
cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is missing the newline, cron will
consider the crontab (at least partially) broken and refuse to install it.
AUTHOR
Paul Vixie <paul@vix.com> is the author of cron and original creator of this manual page. This page has also been modified for Debian by
Steve Greenland, Javier Fernandez-Sanguino and Christian Kastner.
4th Berkeley Distribution 19 April 2010 CRONTAB(1)