[ESP]
ordenarCarpetaDescargas.sh
es un script en Bash diseñado para sistemas Linux que facilita la organización automática de archivos descargados, filtrando por nombre o extensión. Este script está pensado para optimizar la tediosa tarea de clasificar archivos descargados de Internet, como justificantes de entrega de tareas de clase, además de ser útil para organizar archivos PDF e imágenes.
- Clasificación Automática: Mueve archivos a carpetas designadas según su tipo (imágenes, PDF, etc.).
- Configuración Sencilla: Permite modificar las rutas de las carpetas y los tipos de archivos fácilmente.
- Monitoreo en Tiempo Real: Utiliza
inotifywait
para detectar y mover archivos automáticamente a medida que llegan a la carpeta de descargas.
Important
Antes de usar el script, asegúrate de que las carpetas de destino estén creadas. También puedes modificar las rutas en el script para adaptarlo a tu estructura de carpetas.
Monitorear
: Ruta de la carpeta que se va a vigilar (por defecto:/home/isaac/Descargas
).DestinoPNG
: Carpeta para archivos PNG (por defecto:/home/isaac/Imágenes/png
).DestinoJPG
: Carpeta para archivos JPG (por defecto:/home/isaac/Imágenes/jpg
).DestinoOtros
: Carpeta para otros formatos de imagen (por defecto:/home/isaac/Imágenes/otrosFormatos
).DestinoWallpapers
: Carpeta para archivos de wallpapers (por defecto:/home/isaac/Imágenes/wallpapers
).DestinoPDF
: Carpeta para archivos PDF (por defecto:/home/isaac/Documentos/pdf
).DestinoComprobantes
: Carpeta para archivos de comprobación de entrega (por defecto:/home/isaac/Documentos/comprobantesBlackBoard
).
Para ejecutar el script al iniciar el sistema, sigue estos pasos:
-
Crear un Archivo de Servicio: Abre una terminal y ejecuta:
sudo nano /etc/systemd/system/ordenarCarpetaDescargas.service
Important
Luego, agrega esta configuración (reemplaza la ruta con la ubicación de tu script y utiliza el nombre de usuario de tu sistema):
[Unit]
Description=Servicio para mover imágenes automáticamente
After=multi-user.target
[Service]
ExecStart=/bin/bash /home/isaac/ordenarCarpetaDescargas.sh
Restart=on-failure
User=isaac
Environment=DISPLAY=:0
StandardOutput=append:/var/log/ordenarCarpetaDescargas.log
StandardError=append:/var/log/ordenarCarpetaDescargas-error.log
[Install]
WantedBy=multi-user.target
-
Habilitar e Iniciar el Servicio: Ejecuta los siguientes comandos para habilitar e iniciar el servicio:
sudo systemctl daemon-reload sudo systemctl enable ordenarCarpetaDescargas.service sudo systemctl start ordenarCarpetaDescargas.service
-
Verificar el Estado del Servicio: Para comprobar si el servicio está funcionando, utiliza:
sudo systemctl status ordenarCarpetaDescargas.service
Una vez configurado y habilitado el servicio, el script organizará automáticamente los archivos que descargues en la carpeta especificada. Recuerda verificar que las carpetas de destino existen y están correctamente definidas.
Note
Si las carpetas de destino no existen, el script puede fallar o no mover los archivos correctamente.
Tip
Permisos: Asegúrate de que el script tenga permisos de ejecución. Puedes asignarlos con el siguiente comando:
chmod +x /home/isaac/ordenarCarpetaDescargas.sh
Important
Requisitos: Este script requiere que inotify-tools
esté instalado en tu sistema. Instálalo ejecutando:
sudo apt install inotify-tools
[ENG]
ordenarCarpetaDescargas.sh
is a Bash script designed for Linux systems that facilitates the automatic organization of downloaded files by filtering by name or extension. This script is intended to optimize the tedious task of sorting downloaded files from the Internet, such as task submission receipts, and is also useful for organizing PDF and image files.
- Automatic Classification: Moves files to designated folders based on their type (images, PDF, etc.).
- Easy Configuration: Allows you to easily modify folder paths and file types.
- Real-Time Monitoring: Uses
inotifywait
to detect and move files automatically as they arrive in the download folder.
Important
Before using the script, ensure that the destination folders are created. You can also modify the paths in the script to suit your folder structure.
Monitor
: Path of the folder to be monitored (default:/home/isaac/Downloads
).DestinationPNG
: Folder for PNG files (default:/home/isaac/Images/png
).DestinationJPG
: Folder for JPG files (default:/home/isaac/Images/jpg
).DestinationOthers
: Folder for other image formats (default:/home/isaac/Images/otherFormats
).DestinationWallpapers
: Folder for wallpaper files (default:/home/isaac/Images/wallpapers
).DestinationPDF
: Folder for PDF files (default:/home/isaac/Documents/pdf
).DestinationReceipts
: Folder for submission receipts (default:/home/isaac/Documents/blackboardReceipts
).
To run the script automatically at system startup, follow these steps:
-
Create a Service File: Open a terminal and run:
sudo nano /etc/systemd/system/ordenarCarpetaDescargas.service
Important
Then, add the following configuration (replace the path with your script's location and use your system's username):
[Unit]
Description=Service for automatically moving images
After=multi-user.target
[Service]
ExecStart=/bin/bash /home/isaac/ordenarCarpetaDescargas.sh
Restart=on-failure
User=isaac
Environment=DISPLAY=:0
StandardOutput=append:/var/log/ordenarCarpetaDescargas.log
StandardError=append:/var/log/ordenarCarpetaDescargas-error.log
[Install]
WantedBy=multi-user.target
-
Enable and Start the Service: Run the following commands to enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable ordenarCarpetaDescargas.service sudo systemctl start ordenarCarpetaDescargas.service
-
Check the Status of the Service: To verify if the service is running, use:
sudo systemctl status ordenarCarpetaDescargas.service
Once the service is configured and enabled, the script will automatically organize the files you download into the specified folder. Remember to check that the destination folders exist and are correctly defined.
Note
If the destination folders do not exist, the script might fail or not move the files correctly.
Tip
Permissions: Make sure the script has execution permissions. You can set them with the following command:
chmod +x /home/isaac/ordenarCarpetaDescargas.sh
Important
Requirements: This script requires inotify-tools
to be installed on your system. You can install it by running:
sudo apt install inotify-tools