Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement