Last active
March 14, 2019 00:30
-
-
Save linuxkidd/5637e72d32a67edcdffd23fb715418d9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/awk -f | |
## | |
## Usage: | |
## cat orig.bi.list | ./import_bi_list.awk -v bucketname=mybucket -v bucketid=mybucketid -v marker=mymarker -v poolname=myrgw.buckets.data -v namesfile=diffnamesfile | |
## | |
## | |
function procObj() { | |
if(mynames[objname]) { | |
print "Object "objname" is in the list of missing names.. Processing" | |
printf "Checking if object exists in rados: " | |
retval=system("rados stat \""marker"_"objname"\" -p \""poolname"\"") | |
if(retval==0) { | |
print "Found, importing Object # "objcount", "objname": " | |
# print "radosgw-admin bi put --bucket=\""bucketname"\" --bucket-id=\""bucketid"\" --object=\""objname"\" --infile=/tmp/obj."objcount".json" | |
retval=system("radosgw-admin bi put --bucket="bucketname" --bucket-id="bucketid" --object="objname" --infile=/tmp/obj."objcount".json >/dev/null") | |
if(retval!=0) | |
print "failed!" | |
else | |
print "success." | |
} else | |
print "Deleted, moving on." | |
} else | |
print "Object "objname" not in list of missing names.. moving on." | |
system("rm -f /tmp/obj."objcount".json") | |
} | |
BEGIN { | |
objcount=0 | |
if(bucketname=="") { | |
print "Missing bucketname!" | |
print "Please supply '-v bucketname=myname'" | |
exit | |
} | |
if(bucketid=="") { | |
print "Missing Bucket ID!" | |
print "Please supply '-v bucketid=myid'" | |
exit | |
} | |
if(marker=="") { | |
print "Missing marker!" | |
print "Please supply '-v marker=mymarker'" | |
exit | |
} | |
if(namesfile=="") { | |
print "Missing names file" | |
print "Please supply '-v namesfile=listofnamesfile'" | |
exit | |
} | |
if(poolname=="") { | |
print "Missing pool name" | |
print "Please supply '-v poolname=myrgw.bucket.data'" | |
exit | |
} | |
while(( getline line<namesfile ) > 0) | |
mynames[line]=1 | |
} | |
/^ {/ { | |
inobj=1 | |
objcount++ | |
} | |
/^ }/ { | |
print " }" >> "/tmp/obj."objcount".json" | |
inobj=0 | |
procObj() | |
} | |
/"name":/ { | |
objname=$NF | |
gsub(/^\"/,"",objname) | |
gsub(/\",$/,"",objname) | |
} | |
{ | |
if(inobj==1) | |
print $0 >> "/tmp/obj."objcount".json" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment