Today (Saturday) We will make some minor tuning adjustments to MySQL.

You may experience 2 up to 10 seconds "glitch time" when we restart MySQL. We expect to make these adjustments around 1AM Eastern Daylight Saving Time (EDT) US.


INTO OUTFILE Error 2


Login or Register to Reply

 
Thread Tools Search this Thread
# 1  
INTO OUTFILE Error 2

Good day, I am trying to run the following command but it does not seem to work.

Code:
[root@ ]# mysql -pPassword asteriskcdrdb -s -b -e "select 'Account ID','Destination','Operator','Provider','Date','BillSec','Rate id','Cost' UNION select accountcode,dst,'PBX',route_name,date_format(calldate,'%Y/%c/%e %H:%i'),billsec as Duration,route_id,round(cost,5) from cdr where calldate > '$prev_date' and calldate < '$cur_date' and cost > 0 and accountcode='$accountcode' UNION select '','','','','','',concat('R',sum(round(cost,5))),'' from cdr where calldate > '$prev_date' and calldate < '$cur_date' and cost > 0 and accountcode='$accountcode' INTO OUTFILE '/tmp/VoipBilling-$date/CDR/$accountcode-$date.csv' FIELDS TERMINATED BY ',';"

Error is: ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-/CDR/-.csv' (Errcode: 2)

Note the filepath in the error code and the filepath specified differs. Almost as if Mariadb does not know to create the folder with the date i.e /tmp/VoipBilling-2019-06-22/CDR/BILLTEST-2019-06-22.csv''

Instead it wants to write it as '/tmp/VoipBilling-/CDR/-.csv'

When I run the same command but change the output path to not use the $date it works. i.e
Code:
[root@ ]# mysql -pPassword asteriskcdrdb -s -b -e "select 'Account ID','Destination','Operator','Provider','Date','BillSec','Rate id','Cost' UNION select accountcode,dst,'PBX',route_name,date_format(calldate,'%Y/%c/%e %H:%i'),billsec as Duration,route_id,round(cost,5) from cdr where calldate > '$prev_date' and calldate < '$cur_date' and cost > 0 and accountcode='$accountcode' UNION select '','','','','','',concat('R',sum(round(cost,5))),'' from cdr where calldate > '$prev_date' and calldate < '$cur_date' and cost > 0 and accountcode='$accountcode' INTO OUTFILE '/tmp/VoipBilling/CDR/accountcode.csv' FIELDS TERMINATED BY ',';"

So it is safe to say this is not a folder permision but the command not being able to create the folder with $date specified.

Please assist
# 2  
Does date have spaces in it like June 10 2019? Plus the date shell variable is likely not being expanded when inside single quotes,
e.g., '$cur_date'.
# 3  
So I change use $cur_date as:

Code:
$cur_date

instead of
Code:
'$cur_date'

?

--- Post updated at 01:20 AM ---

Also,

Date should be displayed as 2019-06-22
# 4  
What you have to do (I did this with oracle) is to "format stuff" to preserve translated (expanded values) of you variables. For oracle the single quotes had to still be in there to delimit the "fixed" strings I am guessing you have the same requirement.

Simplified example:
Code:
#!/bin/bash
# example.sh
cur_date="2019-06-22"
printf " '%s' " "$cur_date"

run example.sh
Code:
$./example.sh
 '2019-06-22'
$

If you need more help get back to us.
# 5  
The start of my script contains

Code:
#!/bin/bash
date=`date +%F`
prev_date=`date --date='-1 month' '+%Y-%m-25 00:00:00'`
cur_date=`date --date='now' '+%Y-%m-25 00:00:00'`
mkdir /tmp/VoipBilling-$date
mkdir /tmp/VoipBilling-$date/CDR
mkdir /tmp/VoipBilling-$date/Summary

When I do the following it creates the file with the date specified

Code:
mkdir /file-$date

--- Post updated at 11:47 AM ---

When I run the script I get the following error

Code:
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-23/Summary/POSTPAID-SUMMARY-2019-06-23.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-23/Summary/PREPAID-SUMMARY-2019-06-23.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-23/Summary/VIRTUAL-PBX-SUMMARY-2019-06-23.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-23/CDR/BILLTEST-2019-06-23.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-23/CDR/BILLTEST2-2019-06-23.csv' (Errcode: 2)

So it is creating the dates correctly but it seems to not be able to write/create the file. Folder permisions should be fine. I run chmod -R 777 /temp/* at the start of the script

Code:
#!/bin/bash
date=`date +%F`
prev_date=`date --date='-1 month' '+%Y-%m-25 00:00:00'`
cur_date=`date --date='now' '+%Y-%m-25 00:00:00'`
mkdir /tmp/VoipBilling-$date
mkdir /tmp/VoipBilling-$date/CDR
mkdir /tmp/VoipBilling-$date/Summary

chmod -R 777 /tmp/*

# 6  
A script that is creating files with names containing a date set on the 25th day of a few months is not creating diagnostics for dates set on the 23rd day of the month because it was unable to create the files with dates on the 25th of the month. Therefore, the diagnostics you showed us did not come from the script you showed us.

Are other variables in your script trying to create files with dates from the 23rd of the month? Do you need to be creating files with the day of the month set to the 23rd instead of the 25th?
# 7  
Hi,

No it needs to be on the 25th of the month but I would like to test to see if the script works fine.

I changed the cur_date to the following to test

Code:
cur_date=`date --date='now' '+%Y-%m-26 00:00:00'`

to test the script now but still get
Code:
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-26/Summary/POSTPAID-SUMMARY-2019-06-26.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-26/Summary/PREPAID-SUMMARY-2019-06-26.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-26/Summary/VIRTUAL-PBX-SUMMARY-2019-06-26.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-26/CDR/BILLTEST-2019-06-26.csv' (Errcode: 2)
ERROR 1 (HY000) at line 1: Can't create/write to file '/tmp/VoipBilling-2019-06-26/CDR/BILLTEST2-2019-06-26.csv' (Errcode: 2)

Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Solaris 10 error "-sh: /tmp/outfile: cannot create"
feroccimx
Hello, Each time a user log on to host, they receive below error: -sh: /tmp/outfile: cannot create Example: $ ssh host user@host's password: Last login: Fri Dec 4 08:17:28 2015 from client.ref |-----------------------------------------------------------------| -sh:...... Solaris
2
Solaris
Outfile
PerlNutt
Hi guys! So I have a program that allows the user to enter a file, change some characters (for example, a changes to t, etc.) and then save the new file under a new name. However, I need to press carriage return twice for the program to end. I was just wondering if anyone knew of a way for the...... UNIX for Dummies Questions & Answers
2
UNIX for Dummies Questions & Answers
print to more than one outfile AWK
dcfargo
I'd like to do an if / else if condition and print to different files. Something like: awk '{ if ($1 == "yes") print $2, $4 < infile > outfile1 ; else if ($1 == "No") print $2, $4 < infile > outfile2 }' Obviously I don't know the syntax. Thanks so much.... Shell Programming and Scripting
5
Shell Programming and Scripting
How to outfile contant as an input for a command
nitin_aaa27
I`m having output file which contain following no which changes every time i run script.The number given below are there in file and i have to fatch them from file. 12 15 56 158 365 165 598 568 265 256 258 now i want to use above number from output to input as $j r=`/omp/bin/ICIC...... UNIX for Dummies Questions & Answers
1
UNIX for Dummies Questions & Answers
Setting outfile with (brackets)
Pablo_beezo
I have a file that comes in as 20081002_invoices.txt and needs to go out as invoices(20081002).xls When ran this file should have three seperate fields as follows: column1 column2 column3 data1 data2 data3 when i run the script it produces the invoices(20081002).xls but moves...... Shell Programming and Scripting
1
Shell Programming and Scripting

Featured Tech Videos