On Thu, February 12, 2015 12:45 pm, Valeri Galtsev wrote:
On Thu, February 12, 2015 12:32 pm, Matt wrote:
I need to remove empty files out of a directory that are over 6 hours old so I created this script and put it in cron.hourly.
#!/bin/sh cd /var/list sudo -u matt find /var/list -mmin +360 -empty -user matt -exec rm {} ;
I want to run it as matt rather than root for just an added bit of safety. Problem is I get this.
"sudo: sorry, you must have a tty to run sudo"
Is there another way to do this? As I understand the reason for this is requiretty in sudo config. If that improves security I would rather not change that setting.
Did you try to use su instead? E.g., in my /etc/rc.local I have a bunch of stuff run on behalf of users other than root. Like:
/bin/su lmgrd -c 'export IDL_DIR=/usr/local/opt/flexlm/idl;/usr/local/opt/flexlm/idl/bin/lmgrd -c /usr/local/opt/flexlm/licenses/license.dat -l /var/log/flexlm/idl.log > /dev/null 2>&1'
As a second thought (which should have been firth thought), you may be able to just add cron job for that user (if that user isn't deprived the ability to have cron jobs). Assuming you are root, edit that user's crontab:
crontab -u matt
and either put that single long command line in user's crontab (note, you also need to specify time parameters, take a look into man crontab) or point to script (which should be readable and executable by that user).
Valeri
++++++++++++++++++++++++++++++++++++++++ Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247 ++++++++++++++++++++++++++++++++++++++++