Sponsored Content
Full Discussion: Overwrite file every day
Top Forums Shell Programming and Scripting Overwrite file every day Post 302873809 by jim mcnamara on Wednesday 13th of November 2013 07:33:11 AM
Old 11-13-2013
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):
Code:
 >| myfile  (works regardless of noclobber option)
 > myfile   (works when noclobber is not set, which is usually the default setting)

You control noclobber this way
Code:
set +o noclobber     # turn off   default for most users on most systems, except for "read-only" users.
set -o noclobber      # turn on   Note: a priori the -/+ signs appear to be backwards but this is correct

So you could add this to your crontab:
Code:
1 0 * * * >| /path/to/file/to/overwrite

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:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to compare prev day file to current day file

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)
Discussion started by: Smurtzy
1 Replies

2. Shell Programming and Scripting

overwrite specific lines in a file

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)
Discussion started by: csecnarf
7 Replies

3. UNIX Desktop Questions & Answers

shell overwrite lines in a file

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)
Discussion started by: ACTGADE
4 Replies

4. UNIX for Dummies Questions & Answers

Restrict file overwrite through FTP

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)
Discussion started by: imranak7
7 Replies

5. UNIX for Dummies Questions & Answers

Output to file but append rather than overwrite?

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)
Discussion started by: Sepia
2 Replies

6. Shell Programming and Scripting

Unable to overwrite but can delete file

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)
Discussion started by: savage66
1 Replies

7. UNIX for Dummies Questions & Answers

overwrite file in multiple folders

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)
Discussion started by: webguy262
2 Replies

8. Shell Programming and Scripting

Shell script to overwrite a file

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)
Discussion started by: Karthick N
4 Replies

9. Shell Programming and Scripting

Wget download file ( do not overwrite )

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)
Discussion started by: stefki
8 Replies

10. Shell Programming and Scripting

How to Undo overwrite file in UNIX?

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
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)
All times are GMT -4. The time now is 11:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy