viernes, 18 de marzo de 2011

Mandato para añadir dias a una fecha (ADDDAT)

Con el mandato ADDDAT podemos sumar o restar días a una fecha, es muy útil para utilizarlo en programas CL.

Debemos pasar en el parámetro DAYS el numero de días a añadir, o sustraer, a la fecha que le pasamos en el parámetro DATE, por omisión tiene el valor especial *TODAY que recuperara la fecha del sistema. La nueva fecha la devuelve en la variable que pongamos en el parámetro TOVAR.

miércoles, 16 de marzo de 2011

Autoarranque servicios TCP/IP

El mandato STRTCPSVR tiene el valor *ALL por omisión para el parámetro SERVER. Si no tenemos controlado el uso de este mandato, se arrancaran un montón de servicios TCP/IP y que puede que no necesitemos en nuestras aplicaciones, consumiendo además, recursos del sistema para nada.
Un ejemplo podría ser el servidor de correo SMTP que, evidentemente si no lo usamos en nuestro sistema, puede consumir recursos y darnos algún dolor de cabeza.

Por esta razón recomiendo cambiar el valor por defecto del comando STRTCPSVR (solo válido solo para las versiones del OS/400 V4R5 o superiores):
CHGCMDDFT  CMD(STRTCPSVR) NEWDFT('SERVER(*AUTOSTART)')

De esta forma si se ejecuta un STRTCPSVR sin parámetros, en lugar de arrancar todos los servicios TCP/IP, solo se arrancaran los que hayamos definido como autoarranque nosotros. Además prevendremos posibles ataques por los puertos de los servicios que no estamos utilizando.

¿Como hacemos esto?, pues con el mandato CFGTCP, seleccionamos la opción 20, y vamos modificando todos servicios, que nos interese arrancar automáticamente, con el parámetro AUTOSTART(*YES), el resto los dejamos con el valor *NO. Eso si hemos de tener muy claro que servicios usamos y cuales no.
Para algunos servicios existen comandos para cambiarlos directamente desde la linea de mandatos, por ejemplo para el FTP Trivial: CHGTFTPA AUTOSTART(*NO)

¡¡Ojo!! Hay algunos servicios que solo se pueden configurar desde el "Navegador de Operaciones" (menú Network, Servers, TCP/IP). Para modificarlos usar el botón derecho sobre cada servicio (Propiedades) y desmarcar o marcar la casilla "Start when TCP/IP is started".

¡¡Ojo!!  También deberemos verificar el programa QSTRUP, o el que utilicemos en nuestro sistema, no tenga "hardcode" el mandato STRTCPSVR SERVER(*ALL).

sábado, 5 de marzo de 2011

Gestionar mejor la configuracion de subsistemas

En varias de las entradas del blog se mostraba como "tunear" nuestros subsistemas:
Asignar prioridad automáticamente
Cola de trabajos independiente
Memoria para subsistema
Colas de trabajos
Entradas de direccionamiento
Cambiar inicio de sesión

La gente de System i Network publica utilidades y artículos muy interesantes, y muchos de ellos nos pueden ser de mucha utilidad. Entre ellas han publicado unas utilidades de Carsten Flensburg que nos pueden facilitar las tareas de configuración de los subsistemas.

Están divididas en cuatro artículos titulados:
Carsten's Corner - New Subsystem Entry Commands
New Subsystem Entry Commands - Part 1
New Subsystem Entry Commands - Part 2
New Subsystem Entry Commands - Part 3
New Subsystem Entry Commands - Part 4