03-25-2014
Quote:
Cronjobs dont have access to the environment (eg: the $PATH variable, so it wont find 'ls' and others), so you must provide FULL & ABSOLUTE PATH for each command that is not a shell builtin.
That's not entirely accurate - using full path names is a good idea, but while cron won't execute the user profile, it will (if it's POSIX-compliant) set a basic default $PATH like /bin:/usr/bin. It also might run /etc/environment, although I'm not sure if that's POSIX or not (AIX and Debian seem to, anyway).
Last edited by CarloM; 03-25-2014 at 10:22 AM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi guys,
i have a problem.
a week ago i made a successful crontab that execute bash scripting daily, it worked well
but now, it doesn't work at all, in the mail i have:
"
/home/jimmy/cha/scripts/cekpderr
produced the following output:
lagi jalan
/home/jimmy/cha/scripts/cekpderr:... (6 Replies)
Discussion started by: jimmbp
6 Replies
2. Shell Programming and Scripting
dear friends,
i want to make a bash script that can be executed by many people simultaneously. do you have any idea to make it?
there will be many dependent-variables(which is input from people) in the scripts.
i am thinking about a random temporary file that created by the bash script each... (4 Replies)
Discussion started by: jimmbp
4 Replies
3. Shell Programming and Scripting
I'm trying to use unison from bash on windows with cygwin. I don't know if this is a cygwin question, bash question or unison question. Since I always get reprimanded by the cygwin mailing list for assuming it is a cygwin problem, I'll assume it is a bash question.
The following commands work... (7 Replies)
Discussion started by: siegfried
7 Replies
4. Shell Programming and Scripting
Hello,
So my knowledge of bash scripting is not that great and I have been trying to solve this problem on my own for awhile to no avail.
Here's the error I get when running it with an OS that uses bash 3.2.x:
testagain.sh: line 10: *-1: syntax error: operand expected (error token is... (2 Replies)
Discussion started by: forkandspoon
2 Replies
5. Shell Programming and Scripting
dear list,
i've just write a simple php script to add user to my iptables, but some times it works and it dosn't work,, here's my script for my adduser.php
<?php
exec('/var/www/html/backup.sh');
$hash = "# $_POST\n";
$ip = "-A INPUT -p tcp -m tcp -s $_POST -d 10.10.105.18 --dport 8080 -j... (2 Replies)
Discussion started by: ridwanfi
2 Replies
6. AIX
Hi
Script not getting executed via cron but executes successfully when executed manually. Please assist
cbspsap01(appuser) /app/scripts > cat restart.sh
#!/bin/ksh
cd /app/bin
date >>logfile.out
echo "Restart has been started....." >>logfile.out
date >>logfile.out
initfnsw -y restart... (3 Replies)
Discussion started by: samsungsamsung
3 Replies
7. Shell Programming and Scripting
Hi, I've got a Bash backup script I'm trying to run on a directory via a cron job nightly. If I ssh in and run the script manually it works flawlessly. If I set up the cron to run evertything is totally messed up I don't even know where to begin.
Basically the path structure is
... (6 Replies)
Discussion started by: wyclef
6 Replies
8. Shell Programming and Scripting
I ran this script yesterday (in the background)
/usr/bin/nohup myfilelocation/myscriptname.sh &
the script worked perfectly.
i ran it today (also in the background) and just sat there. So i killed it and ran it normally and it worked perfectly.
Anyone suggest why it just sat there and... (8 Replies)
Discussion started by: twinion
8 Replies
9. Shell Programming and Scripting
Hi,
maybe I'm asking a VERY dumb question, but would anybody out there tell me, why this f****** script won't work if executed as a cronjob, but works fine if executed from a shell prompt?
#! /bin/bash
set PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
date >>... (3 Replies)
Discussion started by: beislhur
3 Replies
10. UNIX for Beginners Questions & Answers
The below command works in the terminal interactively but not as part of a bash script. I though maybe I needed to escape the "$dir" so it isn't interpreted literally, but that's not it. Thank you :).
interactively in terminal
dir=/path/to
new=$(ls "$dir"/*.csv -tr | tail -n 1) && echo... (6 Replies)
Discussion started by: cmccabe
6 Replies
LEARN ABOUT DEBIAN
eatmydata
eatmydata(1) General Commands Manual eatmydata(1)
NAME
eatmydata - transparently disable fsync() and other data-to-disk synchronization calls
SYNOPSIS
eatmydata [--] command [ command arguments ... ]
DESCRIPTION
eatmydata runs a command in the environment where data-to-disk synchronization calls (like fsync(), fdatasync(), sync(), msync() and open()
O_SYNC / O_DSYNC flags) have no effect. LD_PRELOAD library libeatmydata overrides respective C library calls with custom functions that
don't trigger synchronization but return success nevertheless.
You may use eatmydata in two ways. In normal mode, just execute eatmydata directly and pass a command-to-be-run and its arguments via com-
mand line. In order to use symlink mode, create a symlink to /usr/bin/eatmydata with the filename (a.k.a basename) of another program in
the PATH and execute eatmydata via that symlink. Then eatmydata will find that program in the PATH and run it in the libeatmydata environ-
ment repassing all command line options.
OPTIONS
Please note that eatmydata does not process any command line options in symlink mode. All command line options will be repassed to the
underlying executable as-is.
command
The command to execute. It may be either a full path or the name of the command in PATH. In case command cannot be found in PATH,
eatmydata will fail.
command arguments
Arbitrary number of arguments to pass to the command being executed.
-- Optional command separator for compatibility with similar utilities. Ignored at the moment.
EXAMPLES
Given PATH is /usr/bin and both /usr/bin/aptitude and /usr/bin/eatmydata are installed, the following:
$ ln -s /usr/bin/eatmydata ./aptitude
$ ./aptitude moo
is equivalent to:
$ eatmydata -- aptitude moo
Therefore, you may use symlink mode to automatically run specific programs in the libeatmydata environment whenever you run them from PATH.
For example, given standard PATH settings, just do:
# ln -s /usr/bin/eatmydata /usr/local/bin/aptitude
and enjoy sync-free aptitude system-wide.
AUTHOR
The eatmydata wrapper around libeatmydata LD_PRELOAD library was written by Modestas Vainius <modax@debian.org>
November 2010 eatmydata(1)