Create a Post
Showing results for 
Search instead for 
Did you mean: 

dbedit Script for bulk object creation


Does anybody have a script to create Network Objects in bulk via CLI using dbedit?

I have used the below script to create hosts and it did not work. My device is Smart 1-50 running Gaia R77.30

create host_plain web_server 
modify network_objects web_server ipaddr 
update network_objects web_server

Thanks in advance

8 Replies
Employee Employee

Actual dbedit commands look correct. The question is how do you execute them and what error do you get.

Hopefully you have read the SK Editing the objects_5_0.C file via Check Point database editing utilities 

Here's output of your own commands:

[Expert@ms01:0]# dbedit
Enter Server name (ENTER for 'localhost'):
Please enter a command, -h for help or -q to quit:

dbedit> create host_plain web_server

dbedit> modify network_objects web_server ipaddr

dbedit> update network_objects web_server
web_server updated successfully.

dbedit> update_all

dbedit> print network_objects web_server
Object Name: web_server
Object UID: {D864991F-7B18-B641-A6E1-503D440952F2}
Class Name: host_plain
Table Name: network_objects
Last Modified by: System
Last Modified from: localhost
Last Modification time: Mon Jun 18 22:05:21 2018
Fields Details
0 Kudos

Kaspars Zibarts‌ show it correctly. You have right syntaxe, but problem must be in execution. I usually pushing configuration from file, so I'm able to add thousands rows at once.

  • In case you want to run script from file, make sure that you have there UNIX end of lines (when you copied file from different filesystem)
  • In production make database revision first!
  • DBEDIT fails and stop in case of first error in your code. This could be annoying when you are using update_all. For better visibility where the problem is you can update each element separately (you'll see which update line failed). It takes you much more time especially if you run something really big, but it is best for troubleshooting.

How to run file?

On localhost:

dbedit -s localhost -f /somepath/import-file.txt 

Under MDS on certain domain:

dbedit -s <domain server IP> -f /somepath/import-file.txt ‍

In case you need to add more objects, but some with same names already exist in your database, then you can ingnore errors:

dbedit -s localhost -f /somepath/import-file.txt ‍-ignore_script_failure

Here are some simple object code examples (host, network, ip range, group):

 Create host

create host_plain host10.0.0.3
modify network_objects host10.0.0.3 ipaddr
modify network_objects host10.0.0.3 comments "Company Host"
update network_objects host10.0.0.3

Create network

create network net10.0.0.128m25
modify network_objects net10.0.0.128m25 ipaddr
modify network_objects net10.0.0.128m25 netmask
modify network_objects net10.0.0.128m25 comments "Company network"
update network_objects net10.0.0.128m25

Create IP range

create address_range range10.0.0.2-
modify network_objects range10.0.0.2- ipaddr_first
modify network_objects range10.0.0.2- ipaddr_last
modify network_objects range10.0.0.2- comments "server range"
update network_objects range10.0.0.2-

Put all previous to simple group:

create network_object_group branchSubnetGroup
addelement network_objects branchSubnetGroup '' network_objects:host10.0.0.3
addelement network_objects branchSubnetGroup '' network_objects:net10.0.0.128m25
addelement network_objects branchSubnetGroup '' network_objects:range10.0.0.2-
modify network_objects branchSubnetGroup comments "Group of objects"
update network_objects branchSubnetGroup

More examples you can find in Multi-Domain Security Management R77 Versions Administration Guide . There are examples of rules, renaming, etc.

0 Kudos
Employee Employee

Best is wait and see what Ravindra Katragadda has to say Smiley Happy i suspected the same but it's good to give people some time to chew on info provided as in turn if you can suss out the problem yourself you might actually remember it instead of someone serving you answer on the plate Smiley Happy But yes all info you provided is correct and helpful of course


Petr Hantak

Thank you so much for such a detailed explanation.

I used the below lines to create a script.

create host_plain Block_80.80.80.80
modify network_objects Block_80.80.80.80 ipaddr
update network_objects Block_80.80.80.80

I saved this into a text file.

I copied this file to /var/log/ in the MDS.

Then, I log into MDS, went to the CMA context using mdsenv xx.xx.xx.xx command. Then I ran the below commands

dos2unix /var/log/test.txt

dbedit -local -globallock -f /var/log/test.txt &> test_output.txt

The output file shows the below error.

create <object_type> <object_name>
Error in line: 1

Can you please help me why am I seeing this?

0 Kudos

First of all, try to execute the commands manually and see if you get the same error, could it be that object already exists?


  • When using the –globallock flag, savedb should be added at the end of the script (like save button in SmartDashboard). 
Regards, Maarten
0 Kudos

That Object doesn't exist. It's a new one.

if I change the update_all to savedb, will it work?

0 Kudos

it is an additional command, not a replacement, however it will not remove the error

we recently added a lot of Office 365 hosts and networks and used this format for the host:

create host_plain O365-H-
modify network_objects O365-H- ipaddr
update network_objects O365-H-

And this for the networks:

create network O365-N-
modify network_objects O365-N- ipaddr
modify network_objects O365-N- netmask
update network_objects O365-N-

These are just the single host and a single network, but if you copy the text above and use VI on the MDS instead of notepad or make sure to use notepad++ or a similar product that can store the file as a linux file so you dont have strange characters in the file.

Double check by doing a cat of you text file on the MDS.

Regards, Maarten

I tried exactly on MDS R77.30 your object and it worked without issues.

  • I created file for import on the MDS as new file via VIM editor, paste commands from clipboard and save it.
  • Make sure that there are no special characters there or unexpected spaces
  • I switched MDS context with mdsenv as well. 
  • It worked fine with –globallock flag and savedb


Epsum factorial non deposit quid pro quo hic escorol.

Upcoming Events

    CheckMates Events