Problem running zip from cron - bad zipfile offset
I've created a pretty straightforward shell script to do backups via rsync. Every night it rsyncs a copy of a website (approx 60GB) to the local machine. Once a week, after the rsync step, it zips the local copy of the whole site into 2GB chunks and places them in another folder.
When running 'unzip filename.zip' I get a long string of errors similar to this:
Approx 60% of the archived series of 2GB chunks unzips without any problem, but the rest shows those errors above. Those errors "seem" to be happening on files that were already .zip files on the webserver, and which were originally created with a mix of windows WinRAR and command line windows 'zip'. (I don't see how the original method of creation would impact them being zipped into a larger archive, but I'm mentioning it to be thorough).
ALSO: If I ftp the entire linux-created series of 2GB chunks to a Windows machine and open them in WinRAR, they all extract without any problem.
Here's the crontab I'm using:
And here are the 2 scripts referenced in that same cron with a lot of additional commands removed for clarity:
backup.rsync.sh
backup.full.sh
Something in that final zip command seems to be the cause but I can't figure it out. The fact that I can take those resulting files into windows and extract them with winRAR is even more confusing, since linux 'unzip' throws thousands of errors... Can anyone suggest what's wrong with my batch script?
PS: The 'zip' version is 3.0-6 and 'unzip' is 6.0-8+deb7u2. The local machine is Crunchbang 11.
Just as $PATH is not inherited from your environment to be used when a cron job you submit runs, the variables in your script $dirlog, $date, $dirzip, and $dircom are undefined when cron runs this script.
Are the results what you would expect to see if you ran the script:
Yes, the script runs perfectly. All the variables are defined at the top of the script. (I did mention that I was removing everything but the command itself to make the post shorter).
Everything runs.. the initial mysqldump.. the rsync.. the deletion of backups older than 2 weeks.. the zipping of everything into 2GB chunks.. the copying of the 2GB chunks to external USB.
The only thing I'm concerned with here is why the resulting 2GB zip chunks can't be unzipped without errors, and I think it's specifically something in the zip command in the last line of the last snippet I posted, but I can't figure out what it is.
Here is the relevant part of the script with variables:
Here's what happens:
The website has approx 120,000 files, including tens of thousands of pre-existing zipfiles in folders.
My script goes to the website and rsyncs everything, the entire hosting account, and brings it to my local computer.
(Those zipfiles on the website, once rsynced to my local machine, can be manually unzipped without any problem whatsoever, so the problem is not with the zipfiles on the site, nor with their rsynced copies on my local machine) The next step in my script takes the entire rsynced website on my local machine and zips it into 2GB chunks.
As soon as those 2GB zip chunks are created, the 2GB zip chunks cannot be unzipped again without errors. And not 100% errors. A large part of the site unzips properly. But it seems that the pre-existing zipfiles that were on the website are the files which cannot be extracted from the 2GB zip chunks. That's what I'm trying to figure out...
Hi,
I am trying to get the position of a repeated string in a line using
grep -b -o "pattern"
In my server I am using GNU grep version 2.14 and the code is working fine. However when I am deploying the same code in a different server which is using GNU grep version 2.5.1 the code is not... (3 Replies)
Hi ,
I have removed a cron for particular user , but cron job seems to be running even after the cron entry is removed. The purpose of the cron was to sendmail to user ( it uses mailx utility )
I have restarted cron and sendmail service still user is getting mail alerts from the cron job. And... (4 Replies)
hi,
while separated they produce the usual mail alert and i can see the output...
if i write into the php script:
<?php
system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script1.php');
system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script2.php');
system('php -f... (0 Replies)
I have noticed this error in /var/cron/log:
> CMD: /usr/lib/acct/ckpacct
> adm 6739 c Tue Oct 11 10:00:00 2011
< adm 6739 c Tue Oct 11 10:00:00 2011 rc=1
! bad user (adm) Tue Oct 11 11:00:00 2011but when I try to list crontab of user 'adm':
solarni/~# crontab -l adm
crontab: you are... (4 Replies)
Hi All,
I'm not confortable in writing script, can someone can help me, when I run that script below i found this error code : -bash: ./script.sh: /bin/sh.: bad interpreter:
Here is the script
for i in *
x=${i##*.}
z=$(perl -e 'print time;')
t=$(echo $z-$x|bc)... (12 Replies)
We had a mirrored disk failed (not the rootvg), there are 3 lvs (transfer, applogs, arch) from extvg gone open/stale state.
After replaced failed disk and run cfgmgr, the new replaced disk is visible:
)
I did the following to re-mirror new disk:
# extendvg prodvg hdisk3
# lspv (got new pvid on... (2 Replies)
Hi Guys,
I am trying to run a script through contab. The script can only be executed once user logs in as su - oracle. I have tested the script other then cronjob and it executes successfully, more over the paths used in the script are absolute paths.
Crontab entries are as as below.... (3 Replies)
I have created a cron job for the vtiger workflow to execute the shell file named com_vtiger_workflow.sh to run the workflow.
I've created the following line in crotab -e :
00 13 * * * /var/www/html/prashant/cron/modules/com_vtiger_workflow/com_vtiger_tiger_workflow.sh | mail -s 'Check... (2 Replies)
Hi
A Ksh script is deployed in a server and executed through cronjob.
If one of the line in the middle of the script fails . Are the remaining lines executed ? (3 Replies)
In a directory I have several zipfiles, every zip files has some csv files within.
I need to find out which zipfiles have the particular csv files.
I know we can use a zipgrep on linux. Does AIX have a similar command.
Any help appreciated.
Thanks & Regards,
Ram (1 Reply)