Thread Tools Search this Thread
Top Forums Shell Programming and Scripting touch
# 1  
Old 08-23-2007

why am i unable to change the timestamp on a file

I'm getting the following error on AIX.
touch: cannot change times

Any help is appreciated.

# 2  
Old 08-23-2007
You will need file write permissions to change the date.

I don't think you actually need to own the file (user ID match), but you have to have the right permissions.
# 3  
Old 08-23-2007
Originally Posted by Neo
You will need file write permissions to change the date.

I don't think you actually need to own the file (user ID match), but you have to have the right permissions.
I have the permissions to write....
here is the scenario.
I have a shell script which monitors a particular directory for text files, If found it processes the files sequentially (fifo)and uploads data into a database, this shell script is up and running all the time.(where 1=1)
but, some files in this directory have dependency on other files, say I should have two text files to kick the process to upload the data from them into a database.
For some reason if the shell script sees only one file among the two it will not process it until it sees its dependecy (other missing)file in the directory
so as to give preference to the files other than this dependency set , I have added a touch command ( the whole purpose of this is to change the time stamp) and make the fifo logic work out.
but strangely the system is throwing the above error. This functionality was working fine for the last few months
Any idea what might be triggering the system to throw this error..
Thanks for your attention and precious time.
# 4  
Old 08-23-2007
The touch command is built upon the utime()/utimes() system calls. So look up those system calls for your OS to see why they might fail. My copy of AIX 5.3 docs says:
The Times parameter is not null and the calling process neither owns the file nor has root user authority.
The Times parameter is null, effective user ID is neither the owner of the file nor has root authority, or write access is denied.
The file system that contains the file is mounted read-only.

Hmmm, I hope that is an error in documentation or at least the docs are unclear. It is supposed to be like this...

The effective uid must own the file and have write permission to the file or the effective uid must be root. If the Times parameter is null, we are just seeing if we could change the times if we wanted to... but we will not actually change anything if we have permission. If it fails, you get EPERM or EACCES depending on whether or not you were trying to change anything.

But if you are not root, you must own the file. This is required by Posix.
# 5  
Old 09-09-2008
The problem is 100% due to the permission. First the script would have run in some other user id, so that when u tried to execute the script the touch command couldn't able to change the time stamp as the file has no write permission.

For eg, when first tried with someother id the file woul have created with rw-r--r-- permission. While u tried with some other id without deleting the file which was created earlier it would have thrown the error as u have mentioned.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Touch Challenge

I've been given a directory full of subdirectories full of logfiles of the same name: /logfiles/day1/file1/blockednodes.csv day1-14 file1-48 The above is the actual directory structure for 14 days worth of a logfile that is generated every 30 minutes. It's been done this way to preserve the... (15 Replies)
Discussion started by: Cludgie
15 Replies

2. Shell Programming and Scripting

Help with touch and timestamps

Hello fellow Unix geeks, I have been given a very urgent assignment in my office on writing a particular Shell script but I'm very much new to it.I would appreciate any help from you on solving this problem--which might seem very trivial to you. The Unix flavour is a Sun Solaris one..(not... (6 Replies)
Discussion started by: Digjoy83
6 Replies

3. UNIX for Advanced & Expert Users

Help with Touch Command

Hello, I am trying to use touch command to create 1200 .txt files. I am using this, but it is not working. touch `seq 1 1200`.txt Regards, Siddhesh.K (5 Replies)
Discussion started by: Siddheshk
5 Replies

4. Shell Programming and Scripting

Help on touch command

Hi all I changed some of my files in my hoem directory to old dates using the touch command like this touch -t 200805101024 file name but after using this command the date changed properly but it displays like below -rwxr--r-- 1 fincntrg fingrp 193619 May 10 2008 vi.pdf I... (3 Replies)
Discussion started by: thelakbe
3 Replies

5. Shell Programming and Scripting

touch help

I need to change the modified time to below time , but can't get through using touch Nov 27 10:16 (2 Replies)
Discussion started by: dinjo_jo
2 Replies

6. UNIX for Dummies Questions & Answers

Touch all files and subdirectories (recursive touch)

I have a folder with many subdirectories and i need to set the modified date to today for everything in it. Please help, thanks! I tried something i found online, find . -print0 | xargs -r0 touch but I got the error: xargs: illegal option -- r (5 Replies)
Discussion started by: glev2005
5 Replies

7. Shell Programming and Scripting

touch and permission

Hi All, I have requirement to give permission to empty file. I do it in two steps. But is it possible using touch command with some option for providing permission for a file. Regards, gehlnar (3 Replies)
Discussion started by: gehlnar
3 Replies

8. UNIX for Dummies Questions & Answers

touch command help

Hi, This might be the stupidest question ever but here it goes, i need to create a file with the name Hello! It's $s It using the touch command but whenever i use touch 'Hello! It's $s' i get s is undefined touch Hello! It's $s i get ' unmatched Please help ^_^ (6 Replies)
Discussion started by: wsn
6 Replies

9. UNIX for Dummies Questions & Answers

touch command

hello everyone i am new to this forum and was wondering if you all could help me out.... i am looking for a touch command that can touch directories as well as files that does not involve sygwin... any and all help would be appreiciated :D (3 Replies)
Discussion started by: OrthoProof USA
3 Replies

10. UNIX for Dummies Questions & Answers

Touch Function

I would like to "touch" all of the files in all of my directories. Instead of typing touch *.* in each directory, how would have unix touch all files in all of my directories? Thanks!! (1 Reply)
Discussion started by: a025321
1 Replies
Login or Register to Ask a Question

Featured Tech Videos