Hi,

I’m looking for a package that will allow me to configure some rules for moving folders and then watch a folder and automatically move folders or files that match rules to a certain other directory. Does something like this exist?

The use case is that I have data being saved to a single directory by other devices, and then I would like to reorganize it based on the file or folder name.

Or anyone have any other ideas of how to do this?

  • @[email protected]
    link
    fedilink
    3
    edit-2
    1 year ago

    You can use find utility for that. I’m not at Linux machine right now, so maybe I can make mistake in commands, but something like this should work:

    find /path/to/data/folder -name “type1name” -exec mv -t /path/to/dest/folder {} +

    In this example, command find every file containing “type1name” in its name in folder /path/to/data/folder and move it into /path/to/dest/folder.

    So if you have folder “~/data/all_data” containing files like “temperature_2023-06-30.csv”, " temperature_2023-06-29.csv", “power_2023-06-30.csv” and “power_2023-06-29.csv”, do:

    mkdir ~/data/temperature

    mkdir ~/data/power

    find ~/data/all_data -name “temperature*” -exec mv -t ~/data/temperature {} +

    find ~/data/all_data -name “power*” -exec mv -t ~/data/ {} +

    More, you can tweak it into for examplee filtering according to current date and run that script every day.

  • RandomLegend [He/Him]
    link
    fedilink
    21 year ago

    Best I can think of would be a shell script combined with Cron.

    But I’d love see alternatives. Ideal with a gui imo

  • @INeedMana
    link
    1
    edit-2
    1 year ago

    I guess that there should be some tool exactly for that but I couldn’t find it quickly

    • You might want to take a look at filebeat, maybe that will fit your use-case. I take the part “automatically move folders or files that match rules to a certain other directory” verbatim and think it’s not. Filebeat is rather to ingest logs and stream these elsewhere
    • you could configure rules for your files in logrotate but it can only be executed hourly
    • or just write a bash function/script that does the move/decides where to move the file to (executing logrotate should work too) and use one of these:
  • @[email protected]
    link
    fedilink
    11 year ago

    If you don’t find the application you’re looking for maybe you can write a bash script that runs on a Cron job. It’s possible if you’re just talking about file/folder names