General :: Push Command To The Background In A Cron Script?
Feb 3, 2011
I'm writing a script that performs backups from partitions on remote servers. I used to do this with ssh, but that seems to be somewhat slow, so I switched to netcat.I start a listener on the receiving server (which runs the script) like this:netcat -l -p 7000 | dd of=imagefile &and then I make the remote and start a dd piped to netcat. This works quite well started manually and the listener is waiting in the background. However, when I have cron run the same script to automate it, the netcat listener is not started, probably because the "&" thing does not work (or there is something with the piping that behaves differently then)
" Mark the start of the text with "v", "V" or CTRL-V. The character under the cursor will be used as the start.""With CTRL-V (blockwise Visual mode) the highlighted text will be a rectanglebetween start position and the cursor."I can mark the start with "v" or "V".But it doesn't work when I push ctrl+V.
I'm using cron to run a tunnel. It is a looped script which never exits, and thats why I don't want cron to wait for it. This is a crontab entry:@reboot $HOME/cron/portfw.sh &When I run it manually, everything is ok. But when cron runs it, a defunct sh process keeps running until portfw.sh and it's child are killed. Somehow cron knows that processes spawned in background and keeps waiting for them and ignoring the fact that parent process exited. I tried using setsid to change spawned process group, but it did not full cron, it still knows about child processes
I have a simple script. When I run it as cron job. I jot email saying:/bin/sh: line 1: test.tmp: command not found.Even I took first line out, I got the same error.The current shell I have is /bin/tcsh.
I'm trying to get cron to run a bash script every 15 minutes to change my desktop background
running crontab -e I added
Code:
*/15 * * * * sh /home/ME/Documents/scripts/background.sh
(at first i didnt have the sh before the path of the script but read somewhere i needed that) But it doesnt seem to be running my script works fine if ran straight from the terminal so Dont think thats the problem.
Because of my English skills I'll try to explain this subject as best I can, thank you for understanding. Fisrt of all, I am running some program on my slackware in background (using standard method - &). I need to make a script, which allows sending command to this process on my machine from another one. Furthermore this program have to be logged out (standard output f.e. ./myprogram > log.out.txt).It might be a separate Program A which runs my Program B but it cannot be screen, because it is not working like I'd like to and it cannot be java, because it's slow and working not the best so to speak
The first call to "somefunction" works as expected. The function prints "endfunction" and a process in background sleeps 30 seconds. In the second call I thought it should work in the same way, but the script sleeps 30 seconds before it prints "endfunction".Does someone know the reason of this behavior? Is there another way to do a command substitution of a function that has a background process without have to waiting for that process?
With bash is there a way to push and pop the current working directory? I tried writing bash;cd dir; ./dostuff;exit; but the current directory is now dir.
Using CentOS. I have a cron setup to run this command: Code: /var/test.sh | mail -s "Test Cron" mr182@somewhere.com The email is sent but the output of the script is not in the email body, it's just blank. I know there is some output because there are some echo statements in the script.I don't want to get an email for all cronjobs, just this one.
I wrote a simple command line script which is suppose to take my screenshot every 5 minutes.(using ImageMagick's "import" program)
Here is the script (shottr.sh):
This is working fine if I execute by hand i.e:
The script itself is being executed (I hear a voice saying: "Screenshot") but the actual screenshot is not taken.
Be assured that it is NOT permission issue (I placed a simple "touch" invocation and file was created)
May be if it's run from cron...it doesn't have a "window" so it can't take a screenshot from nowhere? If that is the case, then how can I workaround it?
I was wondering if it were possible to have a dual boot system (XP and Debian) where when you press, say F7, you will boot into windows or if your press F6 you will boot into Linux. I have a monitor that doesn't support the initial start-up graphics
I have a script that is basically a series of rsync commands called bkup_all.sh. This script is located in the /root/ dir.From the command line (su'd as root), I can run the script like this:/root/bkup_all.sh > /var/log/bkup/bkup_$(date +%Y%m%d).logThis excecutes perfectly, and all the rsync adn script output is saved in a log file in the intended destination. However, I want this command to run automatically, so again, su'd as root I enter:crontab -ethen enter the following:00 02 * * * /root/bkup_all.sh > /var/log/bkup/bkup_$(date +%Y%m%d).logI want the script to run each night at 2:00am.But, the script does not run. There is no log file generated and I do not see anything in the syslog or system messages to indicate an error.
I have the following shell: export PATH=/u01/app/oracle/product/10.2.0/db_2/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin ftp -u -v -n -i > /bk01/exports/FTP_OUTPUT.LOG <<EOF open 197.0.0.78 user orabackup orabackup cd /media/disco/BK_Oracle bin put FILE00001.LOG put FILE00001.DMP quit EOF
Executing the shell from command line, the output is: Connected to 197.0.0.78. 220 Bienvenido al servicio FTP del servidor backup. 530 Please login with USER and PASS. 530 Please login with USER and PASS. 331 Please specify the password. 230 Login successful. 250 Directory successfully changed. 200 Switching to Binary mode. local: EXPO_APOT10G_20100531.LOG remote: EXPO_APOT10G_20100531.LOG 227 Entering Passive Mode (197,0,0,78,200,162) 150 Ok to send data. 226 File receive OK. 127498 bytes sent in 0.0022 seconds (5.7e+04 Kbytes/s) local: EXPO_APOT10G_20100531.DMP remote: EXPO_APOT10G_20100531.DMP 227 Entering Passive Mode (197,0,0,78,175,141) 150 Ok to send data. 226 File receive OK. 458190848 bytes sent in 6.1 seconds (7.3e+04 Kbytes/s) 221 Goodbye.
Executing the shell from cron, the output is: Connected to 197.0.0.78 (197.0.0.7. 220 Bienvenido al servicio FTP del servidor backup. 331 Please specify the password. 230 Login successful. 250 Directory successfully changed. 200 Switching to Binary mode. local: EXPO_APOT10G_20100531.LOG remote: EXPO_APOT10G_20100531.LOG local: EXPO_APOT10G_20100531.DMP remote: EXPO_APOT10G_20100531.DMP 221 Goodbye.
Why from cron the output no show the statistics in red ...?
I used to know a command to turn off various logs that run in the background of Debian. I using lenny on CF on an embedded board, that why I need the logs off, to stop writes.
I want my server to automatically shutdown at 23:59 and startup at 8:00. The startup is handled through by bios but the shutdown is to be managed through cron. I thought I had this working, I actually swear I had it working because I thought the uptime command showed the appropriate uptime. I happened to be up and was streaming a movie from my server when at the time it should've shutdown it actually just restarted. If I run the shutdown -h now command by itself it works well but the scheduled command just restarts the server. Here is the what is shown when I enter crontab -e.
I have a test socket on a server. If I connect to it using telnet, I get exactly the response I expect. So I know the socket works, and the script on the server works:
Code: my-desktop:~$ telnet 192.168.1.1 3333 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. RAM: 90 % Free ( 2793 M free, 3082 M total)
Connection closed by foreign host. And if I script it, I get almost the same response from Telnet, but still a valid response from the socket. So I know that my script works:
I am using SLES10 and i checked with command crontab -l and when i compared it with the cron.d/daily/monthly/hourly , all they are different. is there any single command that list out all the cronjobs that exist under the system.
Have a bit of a dilemma I'm trying to track down. Have a user using both date and ps commands with & at the end of the line in a shell script. When he runs the script, it waits until he hits ENTER to get back to a prompt. Other times he doesn't. Also, I've noticed that this will sometimes happen, then immediately rerun the script and the behavior stops.