In CarloM's very good answer - the >| is a POSIX required shell redirection operator - it overrides the noclobber option. You seldom see it in posts on this forum.
Shorthand for truncating a file (make a file zero length):
You control noclobber this way
So you could add this to your crontab:
This runs at one minute after midnight every day. The file is empty after this code runs, regardless of shell options.
Last edited by jim mcnamara; 11-13-2013 at 08:44 AM..
These 4 Users Gave Thanks to jim mcnamara For This Post:
Hi all:
I am new to this board and UNIX programming so please forgive if I don't explain something correctly.
I am trying to write a script to keep track of our links, we link one program written for Client A to Client B's directory.
What we want to do is to keep track of our linked programs... (1 Reply)
Hi all,
I am trying to overwrite some lines of a very big file.
I know the number of the line but I don't know how to point the cursor on its beginning. there is an option to notice the offset in lines?
thanks! (7 Replies)
Hello,
I have an external file (file.txt). This shall be a kind of a config file for my shell script. I get the line numbers as to a corresponding entry by grep. Now I would like to substitute the corresponding line from the shell script back to the file and exactly on the same line number.
... (4 Replies)
How can I restrict a user from overwriting a file once he has uploaded it through FTP. He can view the file but can't delete or overwrite it. (OS is UNIX, there is no restriction on client FTP software)
Will be very glad if someone could resolve this problem.
Thanks
Imran Aziz Khan
... (7 Replies)
I am running a command which has a parameter that outputs the results to a file each time it is run.
Here is the command:
--fullresult=true > importlog.xml
Can I add the output to the file rather than creating a new one which overwrites the existing one?
If not can I make the file name... (2 Replies)
I'm debugging a ksh script written by someone else that does the following:
It runs a command and redirects stdout to a file called dberror that already exists using ">". This command fails with the following error:
The file access permissions do not allow the specified action. dberror:... (1 Reply)
I need to update the contents of a file that exists in several hundred folders.
I'm on a mac.
Can I use Terminal to execute a linux/unix command that will accomplish the overwriting of the file? (2 Replies)
Hi Guys,
My requirement as follows,
i want to write a shell script to display the files of a folder, i export it to a file to mail the file. The problem is the exported file is getting appended every time I run the script. I just want the file to be over written. can anyone suggest??
... (4 Replies)
Hello all,
I want to write auto update script for my embedded device, which can check and download newer version of my program and extract the files on the device.
The download center is hosted on remote web server .
Script checks the hosted file on web site and if the new version is there... (8 Replies)
Hi,
Could anyone please advise if its possible in unix to undo the changes for a file that has been overwrriten.
By mistake i have overwritten a file and now i need the original file, is there a way?
Please Help!!! (2 Replies)
Discussion started by: mail.chiranjit
2 Replies
LEARN ABOUT BSD
at
AT(1) General Commands Manual AT(1)NAME
at - execute commands at a later time
SYNOPSIS
at [ -c ] [ -s ] [ -m ] time [ day ] [ file ]
DESCRIPTION
At spools away a copy of the named file to be used as input to sh(1) or csh(1). If the -c flag (for (csh(1))) or the -s flag (for (sh(1)))
is specified, then that shell will be used to execute the job; if no shell is specified, the current environment shell is used. If no file
name is specified, at prompts for commands from standard input until a ^D is typed.
If the -m flag is specified, mail will be sent to the user after the job has been run. If errors occur during execution of the job, then a
copy of the error diagnostics will be sent to the user. If no errors occur, then a short message is sent informing the user that no errors
occurred.
The format of the spool file is as follows: A four line header that includes the owner of the job, the name of the job, the shell used to
run the job, and whether mail will be set after the job is executed. The header is followed by a cd command to the current directory and a
umask command to set the modes on any files created by the job. Then at copies all relevant environment variables to the spool file. When
the script is run, it uses the user and group ID of the creator of the spool file.
The time is 1 to 4 digits, with an optional following `A', `P', `N' or `M' for AM, PM, noon or midnight. One and two digit numbers are
taken to be hours, three and four digits to be hours and minutes. If no letters follow the digits, a 24 hour clock time is understood.
The optional day is either (1) a month name followed by a day number, or (2) a day of the week; if the word `week' follows, invocation is
moved seven days further off. Names of months and days may be recognizably truncated. Examples of legitimate commands are
at 8am jan 24
at -c -m 1530 fr week
at -s -m 1200n week
At programs are executed by periodic execution of the command /usr/libexec/atrun from cron(8). The granularity of at depends upon the how
often atrun is executed.
Error output is lost unless redirected or the -m flag is requested, in which case a copy of the errors is sent to the user via mail(1).
FILES
/usr/spool/at spooling area
/usr/spool/at/yy.ddd.hhhh.* job file
/usr/spool/at/past directory where jobs are executed from
/usr/spool/at/lasttimedone last time atrun was run
/usr/libexec/atrun executor (run by cron(8))
SEE ALSO atq(1), atrm(1), calendar(1), sleep(1), cron(8)DIAGNOSTICS
Complains about various syntax errors and times out of range.
BUGS
Due to the granularity of the execution of /usr/libexec/atrun, there may be bugs in scheduling things almost exactly 24 hours into the
future.
If the system crashes, mail is not sent to the user informing them that the job was not completed.
Sometimes old spool files are not removed from the directory /usr/spool/at/past. This is usually due to a system crash, and requires that
they be removed by hand.
4th Berkeley Distribution October 21, 1996 AT(1)