[chef] Fwd: Powershell query


Chronological Thread 
  • From: ANGELA EBIRIM < >
  • To:
  • Subject: [chef] Fwd: Powershell query
  • Date: Wed, 19 Aug 2015 15:02:24 +0000 (GMT)

Hi everyone,

I'm hoping someone can help me.

I have a scheduled task that will run every 15 minutes and delete files that are older than 2 minutes.

This is the code I use:-

 pass_day = Time.now.strftime("%Y-%m-%d")
      $passdaydir = 'Z:\\s3_temp\\' + "#{pass_day}"
    windows_task 'deletion-of-logs-every-fifteen-minutes' do
      user 'Administrator'
      cwd 'Z:\\s3_temp\\' + "#{pass_day}"
      command 'powershell.exe Get-ChildItem  $passdaydir | Where-Object {$_.LastwriteTime -lt (Get-Date).addMinutes(-2) } | Remove-Item -Recurse -Force'
      run_level :highest
      frequency :minute
      frequency_modifier 15
      force true
      action :create
    end

I'm trying to pass a variable $passdaydir into this command: 'powershell.exe Get-ChildItem  $passdaydir | Where-Object {$_.LastwriteTime -lt (Get-Date).addMinutes(-2) } | Remove-Item -Recurse -Force' however when this runs, it doesn't complete successfully (i.e. the files in Z:\s3_temp\2015-08-10) do not get deleted.

How would you pass a variable into this command?

Many thanks

Sent from iCloud

Begin forwarded message:

From: ANGELA EBIRIM < >
Date: July 28, 2015 10:47:44 PM
To:
Subject: Re: [chef] Powershell query

Hi Matt,

Will use that.

Thanks!
Sent from iCloud

On Jul 28, 2015, at 06:19 AM, Matthew Moretti < > wrote:

Scheduled tasks are certainly the direction you want to go. The Windows cookbook has the windows_task resource. Underneath the hood it relies on schtask, but abstracts a good deal of the complexity away under a resource. Hope that gets you pointed in the right direction.

Matt Moretti


On Tue, Jul 28, 2015 at 4:27 AM, ANGELA EBIRIM < " data-mce-href="mailto: "> > wrote:
Hi everyone,

I'm hoping someone could help me with this as I'm stuck!

I have a powershell command: powershell.exe Get-ChildItem C:\Users\ae\AppData\Local\Temp\3\logstash | Where-Object {_.LastwriteTime -lt (Get-Date).addhours(-12} | Remove-Item -Recurse -Force

which essentially deletes folders within the logstash directory that are older than 12 hours. This needs to be done at a certain time each day.

This command will be included in a Chef recipe and deployed to a Windows Server box.

I'm having difficulty getting this to run at a certain time and was wondering if anyone knew of a way to do this. I've been using the SCHTASKS windows function but this works on a command line but not within a script.

Is anyone aware of a Chef resource that could do this?

Many thanks
 
Sent from iCloud




Archive powered by MHonArc 2.6.16.

§