Preguntas de unix

Te agradecería que me ayudaras que me hace mucha falta.. Mira comienzo con decirte que estoy iniciando en este mundo de UNIX y estoy iniciando a punta de internet osea no he tenido un curso oficial...
Lo primero que necesito es enviar un mail a un usuario o a todos con un archivo adjunto.
Lo segundo que necesito es buscar las líneas repetidas en un fichero mostrar por pantalla las líneas ordenadas alfabéticamente por el primer carácter, y las líneas repetidas una sola vez
Y lo último es Crear un fichero crontab que, al ser ejecutado, con la orden crontab, mande un mail a un usuario cualquiera el día 4 Mayo a las 13:30, felicitándole por su cumpleaños todos los años, y te mande otro a ti el día del tuyo.
Agradecería que me dieras una ayuda con esto para ver si puedo pasar mi primer obstáculo con UNIX.

1 respuesta

Respuesta
1
Primero: para enviar un mail a un usuario o varios con un fichero adjunto, el comando es uuencode.
$ uuencode fichero.txt fichero.txt 2> /dev/null | mailx -s "Texto del asunto" [email protected]
[email protected]
Este comando envía el fichero fichero.txt (sí, hay que repetirlo tras uuencode) adjunto a las direcciones
Indicadas con un asunto (subject). Si quieres enviar el correo a las cuentas de UNIX en vez de a cuentas
De mail en Internet, tendrás que poner simplemente los nombres de las cuentas.
Segundo: dado un fichero f1,
$ sort f1 > f1.ordenado
$ sort -u f1 > f1.ordenado_unicas
$ comm -23 f1.ordenado f1.ordenado_unicas
Con el primer comando se ordena el fichero f1 y la salida va a f1. Ordenado, con el segundo se ordena y se
elimnan líneas duplicadas y la salida va f1. Ordenado_unicas y el tercer comando muestra las líneas
Duplicadas (muestra las líneas de f1. Ordenado que no están en f1. Ordenado_unicas, es decir, las
Duplicadas).
Tercero: si en un fichero llamado felicidades.txt escribes el texto del cuerpo del mail (ubicado en
/export/home/usuario1/), mediante:
$ crontab -e
Se abre un editor (el que tengas definidi en la variable de entorno EDITOR; por defecto, el editor ed) y
Tendrás que poner
30 13 4 5 * cat /export/home/usuario1/felicidades.txt | mailx -s "Felicidades tío" su_dirección_email
Lo salvas y ya está.
"30 13 4 5 *" quiere decir 30 minutos, 13 horas, día 4, mes 5 (o sea, Mayo) y * cualquier día de la semana
y el comando ha ejecutar manda el contenido del fichero /export/home/usuario1/felicidades.txt como cuerpo
Del correo a la dirección su_dirección_email con asunto "Felicidades tío". SI no quieres cuerpo del
Correo, pon sencillamente:
mailx -s "Felicidades tío" su_dirección_email
Si quieres que te mande a ti un mail, se hace de una forma absolutamente análoga.
NOTA: para que los correos se manden correctamente al mundo mundial (a Internet), el servidor UNIX debe
Estar configurado para que el correo saliente SMTP funcione bien; consultar al administrador del sistema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas